Tomcat версии 7.0 поддерживает только J2EE 1.2, 1.3, 1.4 и Java EE 5 и 6 веб-модулей
Я пытаюсь развернуть очень простой проект HTTPServlet, используя Tomcat 7 в моей перспективе Eclipse J2EE. Я получаю сообщение об ошибке "Tomcat версии 7.0 поддерживает только J2EE 1.2, 1.3, 1.4 и Java EE 5 и 6 Web-модулей". Я уже пробовал модифицировать свой файл org.eclipse.wst.common.project.facet.core.xml, как указано здесь, но это не похоже чтобы решить проблему. Я могу развернуть просто отлично, используя file- > export → . War непосредственно на мой установленный сервер tomcat. Любые идеи?
Ответы
Ответ 1
Tomcat не является сервером приложений, совместимым с Java EE, поэтому у вас не будет EJB или CDI из коробки. Вместо этого используйте JBoss Wildfly или TomEE, которые построены поверх tomcat. Или перейдите к полной реализации Java EE, например GlassFish.
Другой вариант может быть, если вы разворачиваете прямо в Tomcat. Eclipse по умолчанию развертывается в другой папке и использует какой-то обход, чтобы увидеть его развернутым на Tomcat. Выполните следующие действия:
- В своем Eclipse перейдите к представлению "Серверы" (если он не отображается в среде IDE, перейдите в "Окно/Показать представление/Серверы" ), он покажет вам ваш сервер tomcat (и другие), дважды щелкните по нему.
- В окне обзора Tomcat проверьте панель "Расположение серверов", разверните ее и проверьте, где развертывается webapp.
- Если выбран вариант "Использовать Tomcat", то веб-приложение должно находиться в
<tomcat>
/webapps. Если нет, обязательно выберите эту опцию, и приложение будет непосредственно развернуто в папке Tomcat.
Ответ 2
Да, используя проект Maven, Spring с соблюдением Java EE, мы сталкиваемся с этой проблемой с Tomcat. Чтобы устранить эту проблему, выполните список команд, чтобы сделать проект совместимым с Java EE.
-
$ mvn eclipse:clean
- очистить файлы затмения, такие как .project.classpath
-
$ mvn eclipse:eclipse -Dwtpversion=2.0
, чтобы создать eclipse, совместимое с Java EE.
Наконец, откройте проект в eclipse, выберите сервер tomcat, который теперь запускается на серверах (Alt + Shift + x, R) выберите tomcat7.0 для запуска.
Ответ 3
Перейдите в "Свойства проекта" → "Границы проекта" и измените версию динамического веб-модуля. Если он установлен в 3.1, то измените его на 3.0. Если он не позволит вам изменить версию, снимите флажок и нажмите "Применить". Затем вы можете выбрать версию, проверить ее и применить-OK.
Работал для меня!
Ответ 4
Если вы получаете "Tomcat версии 7.0 поддерживает только J2EE 1.2, 1.3, 1.4 и Java EE 5 и 6 веб-модулей" при попытке добавить проект в Tomcat 7. Просто,
Щелкните правой кнопкой мыши по проекту → перейдите к граням проекта → снимите флажок с веб-модуля dymanic (который должен быть равен 3.1) → apply → , затем измените динамический веб-модуль на 3.0 → , а затем спасти.
Попробуйте добавить сейчас, и он должен работать.
Ответ 5
Для Tomcat версии 6
В проекте, папка .settings ИЛИ Или CTRL + SHIFT + R:
найти этот файл
org.eclipse.wst.common.project.facet.core.xml
измените версию facet = jst.web на 2.4 или 2.5
Файл: org.eclipse.wst.common.project.facet.core.xml
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="jst.java"/>
<fixed facet="jst.web"/>
<installed facet="jst.web" version="2.4"/>
<installed facet="jst.java" version="6.0"/>
</faceted-project>
Tomcat 7
Вам понадобится фасет = "jst.web" version = "3.0" для развертывания на Tomcat 7.
Ответ 6
1) Перейдите в свой проект в папке в рабочем пространстве eclipse.
2) Откройте папку .setting
3) Откройте XML файл org.eclipse.wst.common.project.facet.core
4) Обновить версию в последней строке как 2.4 или 2.5
5) Обновите проект и попробуйте запустить на сервере
Ответ 7
Я думал, что добавлю что-то к этому вопросу, поскольку я попробовал все вышеперечисленное и в итоге сделал что-то другое, чтобы решить мою проблему:
Tomcat версии 7.0 поддерживает только веб-модули J2EE 1.2, 1.3, 1.4 и Java EE 5 и 6
что также привело к
Невозможно изменить версию фасета проекта Dynamic Web Module на версию 3.0
В нашем проекте мы используем Maven для создания приложения Java 1.8/Tomcat 8.5 (которое поддерживает только Dynamic Web Module версии 3.0, но не 4.0)
Кто-то в нашей команде сделал следующее изменение в нашем родительском pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
<scope>provided</scope>
</dependency>
Версия была перенесена с 3.0.1 на 4.0.0, и независимо от того, сколько раз я пытался вручную перезаписать org.eclipse.wst.common.project.facet.core.xml
с <installed facet="jst.web" version="3.0"/>
версией <installed facet="jst.web" version="3.0"/>
обновление Maven переписало его с 4.0.
Я установил версию 3.0.1, как показано ниже, и с тех пор мои аспекты проекта показывают правильную версию, мои приложения развертываются на моем внутреннем сервере Tomcat, и до сегодняшнего дня никто не собирается делать обновление для версия 4.0.0 :)
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
Ответ 8
Эту проблему можно решить, изменив версию Dynamic Web Module на 3.0. Это можно сделать двумя способами.
-
Перейдите в свойства проекта и нажмите на фасеты проекта, теперь вы видите опцию Dynamic Web Module
, измените ее на 3.0
-
Для тех, кто не может изменить версию на предыдущем шаге, откройте org.eclipse.wst.common.project.facet.core.xml
и измените здесь версию на что-то вроде <installed facet="jst.web" version="3.0"/>
Теперь перейдите к аспектам проекта и увидите, что версия Dynamic Web Module
изменена на 3.0
Ответ 9
Чтобы решить эту проблему, вам нужно обновить версию Dynamic Web Module
с 3.1 to 3.0
. Eclipse не разрешает это обновление напрямую через Build Path-->Configure Build Path-->Project Facets
.
Выполните следующие действия. Откройте файл: YourPrjectFolder/.setting/org.eclipse.wst.common.project.facet.core
- В папке проекта перейдите в папку .settings.
- Откройте
org.eclipse.wst.common.project.facet.core
XML-документ. - Отредактируйте строку
<installed facet="jst.web" version="3.1"/>
в <installed facet="jst.web" version="3.0"/>
- Сохраните изменения.
- Перейдите на Eclipse и обновите проект.
Теперь вы сможете опубликовать свой проект на Tomcat 7.