Я использую Maven для создания динамического веб-приложения в Eclipse. Я добавил несколько папок, таких как src/test/java
и src/test/resources
. Также я изменил библиотеку в Java Build Path, чтобы получить JavaSE-1.7. До этого все в порядке.
Когда я попытался изменить веб-модуль динамического фасета Projects, что-то пошло не так. Я должен был изменить Java на 1,7 в том же месте. И все же он сказал мне, не может изменить версию аспекта проекта Dynamic Web Module на 3.0.
Я изменил все, что повлияло бы на изменение, я думаю.
Ответы:
Я обновил свой
web.xml
а потом просто Maven -> Обновить проект ...
источник
Другой способ - отредактировать сам файл конфигурации фасета проекта:
org.eclipse.wst.common.project.facet.core.xml
Измените версию динамического веб-модуля в этой строке на 3.0 -
<installed facet="jst.web" version="2.5"/>
А потом:
Вы найдете этот файл в
.settings
каталоге в проекте Eclipse.источник
Я думаю, что у меня была такая же проблема, как и у вас. У моего web.xml была версия 2.5, в то время как у проекта был динамический веб-модуль (правой кнопкой мыши на Project-> Properties-> Project Facets->) 2.3.
Хотя я пытался изменить версию с 2.3 на 2.5, ECLIPSE не разрешал этого. Решение: Я снял галочку под заголовком Динамический веб-модуль, сохранил и обновил проект. Автоматическое повторное пробуждение входит в окно с правильной версией. Я использую Eclipse Kepler.
PS: посмотрите на комментарии Джонатана чуть ниже, очень полезно.
источник
Открыть
org.eclipse.wst.common.project.facet.core.xml
файлИзмените версию как это
<installed facet="jst.web" version="3.1"/>
Просто это сработало для меня.
источник
У меня была та же проблема, и я даже пытался удалить проект и добавить его снова. Что сделал трюк, чтобы удалить
.settings
каталог.источник
Удалить
и снова импортируйте проект maven.
источник
Что сработало для меня:
В вашем POM - вы должны установить плагин компилятора на версию 1.8 (или 1.7) в
<build>
разделе:Убедитесь, что изменение Java Build показывает 1.8. Если это не так - нажмите EDIT и выберите, каким он должен быть.
Вместо того, чтобы изменить это:
а) снимите флажок Динамический веб-модуль
б) применить
в) проверьте это снова. Должна быть установлена новая версия 3.0. **
После подачи заявки и проверки еще раз:
Надеюсь это поможет.
источник
Щелкните правой кнопкой мыши проект → Свойства ; в Project Facets отмените выбор Dynamic Web Module (версия должна быть 3.1 ) и отмените выбор JavaServer Faces (версия 2.2 ).
Изменить это:
к этому:
Затем удалите префикс раньше
param-name
и тому подобное.Наконец, Maven -> Обновление проекта .
источник
пожалуйста, откройте представление навигатора и следующий шаг
источник
Откройте файл web.xml из структуры проекта http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd "version =" 3.0 "> Веб-приложение Servlet 3.0
и обновите файл web.xml, например change version = "2.5"
Также измените файл org.eclipse.wst.common.project.facet.core.xml из файла .settings вашего проекта. Выполните шаги 1. Окно> Показать представление> Прочее> Общие> Навигатор
В папке вашего проекта есть папка .settings.
Измените версию динамического веб-модуля в этой строке на 2.5. 4. Измените версию Java в этой строке на 1.5 или выше.
Теперь обновите ваш проект и установите его для запуска на вашем сервере.
Следуйте за блогом для решения http://scrapillars.blogspot.in/2014/02/how-to-change-project-facet-in-eclipse.html
Решение производится с изображениями иллюстраций
источник
Лучшие и простые шаги решили эту проблему для меня: 1) Свойства -> Фасеты проекта -> Снимите / снимите флажок Динамический веб-модуль -> Применить 2) Теперь измените на нужную версию Применить 3) Установите флажок Динамический веб-модуль .. - Теперь вы сделали -
источник
Это еще один способ решения этой проблемы (проверьте, надеюсь, это поможет вам решить вашу проблему)
ПРОБЛЕМА
Невозможно изменить версию динамического веб-модуля аспекта проекта с 2.3 на 3.0
РЕШЕНИЕ
источник
Уловка web.xml работает, потому что теперь вы явно указываете WTP, что используете конкретную версию сервлета, независимо от того, что поддерживает контейнер.
В моем случае я использую конфигурацию аннотации в проекте Maven, и у меня нет файла web.xml. Оказывается, что при отсутствии файла web.xml WTP проверяет зависимости Maven, чтобы определить, какую версию сервлета использовать. В моем случае я определил следующее:
Изменение на 6.0 решило проблему, и теперь он использует Servlet 3.0 вместо 3.1, который является стандартным для JavaEE 7. Поскольку мне пришлось перейти с Tomcat 8 на Tomcat 7, Tomcat 7 поддерживает только веб-профиль JavaEE 6. Теперь все работает чудесно.
источник
У меня была такая же проблема: редактирование файла web.xml и изменение файла в папке .settings не помогли. Мое решение состояло в том, чтобы напрямую указать плагину компилятора maven для использования желаемой версии Java, отредактировав pom.xml:
Теперь запустите Maven-> Обновить проект и после этого вы можете изменить версию сервлета в свойствах-> фасеты проекта-> Версия динамического веб-модуля или, как было написано ранее, вручную отредактировав org.eclipse.wst.common.project.facet.core. XML в папке .settings вашего проекта.
источник
В моем случае на web.xml ссылалась dtd. После того, как я изменил это на ссылку xsd, такую как опубликованная Сидни, это сработало.
источник
У меня была та же проблема, удаление папки .settings решило проблему
источник
Мое решение проблемы, которое не позволило мне изменить версию фазового модуля Dynamic Web Module в Eclipse (Mars):
источник
Если ответ Сиднея по-прежнему не помогает, попробуйте ниже. После ответа Сиднея перейдите в «Свойства»> «Фасеты проектов», отмените выбор «Динамический веб-модуль», а затем измените версию в соответствии с файлом web.config и снова выберите. Применить> Сохранить затем обновление Maven.
web.xml
источник
Я попробовал многие ответы здесь, но ни один из них не работал для меня. Тогда я нашел статью о моей проблеме здесь . Я думал поделиться этим здесь тоже.
Ниже приведены краткие шаги.
источник
Для веб-проекта maven eclipse изменение динамической версии веб-модуля должно проверяться в трех местах. Если кто-то использует Eclipse, и после того, как вы проверили следующее: 1) web.xml
2) мавен:
3) путь сборки eclipse и версия компилятора 1.7
у вас все еще есть маркер ошибки в Maven:
Затем вы можете: снять флажок динамического веб-модуля и перепроверить его. Я думаю, это потому, что .settings файла Eclipse как-то поврежден. По поводу второго совета tomcat, какая версия является хорошей запиской.
источник
Я получил эту ошибку при попытке конвертировать обычный проект Java в проект Maven .
Я определил версию компилятора Java, которая требуется для моего проекта. Для моего проекта минимальная версия Java есть
1.8
.Понижение версии до уровня ниже, чем
1.8
моя IDE, начнет жаловаться, что она не распознает кучу импортированных библиотек, поэтому я определяю свою минимальную версию Java как1.8
Теперь убедитесь, что версия компилятора Java использует ту же версию Java, что и та, которую вы указали в Project Facets.
После внесения изменений ошибка должна быть устранена. Если ошибка все еще существует, щелкните правой кнопкой мыши проект -> Maven -> Обновить проект
источник
Обновление maven или повторный импорт проекта не помогли. @ Сидни ответ правильный; Кроме того, я должен воссоздать проект в другом рабочем пространстве, как сказано в JavaServer Faces 2.2 требует Dynamic Web Module 2.5 или более поздней версии
источник
Откройте файл org.eclipse.wst.common.project.facet.core.xml и измените версию jst.web на 3.0. Также обновите web.xml до версии 3.0. Сохраните и обновите проект. Надеюсь это поможет. Я использую Eclipse Juno
источник
Это вариант ответа Пагурикс, но с использованием Eclipse Mars.
Измените свой файл web.xml на web.bak
Проигнорируйте ошибки, мы восстановим это позже.
Зайдите в свойства проекта -> фасеты проекта и установите нужную версию Dynamic Web Module. Затмение теперь позволяет сохранять.
Теперь щелкните правой кнопкой мыши на проекте. Выберите Инструменты Java EE -> Создать заглушку дескриптора развертывания.
Это создаст новый web.xml с требуемой версией.
Откройте новый файл web.xml и скопируйте его в заголовок XML и полный тег открытия веб-приложения в исходный файл web.bak, удалите новый файл web.xml и переименуйте файл web.bak в файл web.xml.
Готово.
источник
Мое было
Web Module 3.0
вweb.xml
, но вproperties>Dynamic Web Module
это было на3.1
Я изменил
web.xml
это:после этого изменения выполните:
right click on project>Maven>Update Project...
источник
Эта проблема с версией правой кнопкой мыши на проекте-> свойства-> Фасеты проекта-> правой кнопкой мыши на Dynamic Web Module-> разблокировать его-> снять отметку-> выбрать версию 2.5-> Применить-> Обновить maven
источник
Я решил проблему, изменив файл web.xml с правильной версией, расположением xsd и изменив org.eclipse.wst.common.project.facet.core.xml с правильной версией и выполнив обновление maven .
источник
обновление мавен у меня сработало
выберите проект, затем нажмите ALT + F5, затем выберите проект, нажмите ОК
источник
У меня был тот же симптом с другим лечением. Я пытался обновить свое веб-приложение JSF 2.2.4 / Spring 3.0 до JSF 2.3, чтобы использовать новые возможности веб-сокетов JSF, и Eclipse (фактически STS) не будет взаимодействовать. В аспектах проекта Eclipse JSF 2.3 никогда не становился доступным, пока я не отредактировал непосредственно файл org.eclipse.wst.common.project.facet.core.xml, как указано в предыдущих ответах - максимальный уровень - 2,2.
Вот обручи, через которые я прыгнул. Я не знаю, что все это было необходимо, потому что я принципиально не понимаю всю эту конфигурацию.
В Eclipse я часто получал страшное предупреждение: «Изменение граненого проекта, когда реализации одного или нескольких установленных фасетов недоступны, может потенциально привести к повреждению проекта. Вы уверены, что хотите продолжить?» Это побудило меня делать более частые коммиты, но никакой коррупции не произошло.
Обновите следующие зависимости Maven:
... для:
... и ...
... для:
Мне пришлось обновить мои объявления пространства имен web.xml из:
... для:
Мне пришлось обновить Project Facets -> Dynamic Web Module с 2.5 до 3.0. Я пробовал 3.1, но получил ошибки.
В этом процессе я часто получал сообщение об ошибке в заголовке этого поста «Невозможно изменить версию динамического веб-модуля фасета проекта на 3.0», и Eclipse отказалась скомпилировать проект или предложить JSF 2.3 в фасетах проекта. Когда я отредактировал файл org.eclipse.wst.common.project.facet.core.xml в соответствии с указаниями, ошибки исчезли, Eclipse предложил JSF 2.3 в аспектах проекта, и проект скомпилирован и нормально работает на Tomcat 9.0.8. Тем не менее, Project Facets по-прежнему предупреждает: «Не удалось найти реализацию версии 2.3 фасета проекта jst.jsf. Функциональность будет ограничена». Я подозреваю, что это просто означает, что автозаполнение и другие удобства Eclipse не будут доступны, потому что он не может найти реализацию JSF 2.3, объявленную в моем POM.
Надеюсь, это кому-нибудь поможет. Поиски в Google дали только этот пост Али Бассам и косвенно BalusC, который помог.
источник
У меня была та же проблема - я просто удалил проект из своего рабочего пространства, затем очистил «файлы / папки eclipse, например: .project, .settings и т. Д.), Затем снова импортировал проект maven, он работал.
источник