it-swarm.com.ru

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». Я уже пытался изменить мой org.Eclipse.wst.common.project.facet.core.xml, как упомянуто здесь файл, но это, кажется, не решает проблему. Я могу просто развернуть, используя file-> export ->. War прямо на мой установленный сервер Tomcat. Есть идеи?

18
Jason

Tomcat не является сервером приложений, совместимым с Java EE, поэтому у вас не будет готовых EJB или CDI. Вместо этого используйте JBoss Wildfly или TomEE , которые построены поверх Tomcat. Или перейдите на совершенно другую реализацию Java EE, такую ​​как GlassFish .

Другой вариант может быть, если вы развернете прямо в Tomcat. Eclipse по умолчанию развертывается в другой папке и использует какой-то обход, чтобы увидеть, что он развернут на Tomcat. Следуй этим шагам:

  1. В Eclipse перейдите в представление «Серверы» (если оно не отображается в среде IDE, перейдите в окно/Показать представление/«Серверы»), оно покажет вам ваш сервер Tomcat (и другие), дважды щелкните его.
  2. В окне обзора Tomcat проверьте панель «Расположение серверов», разверните ее и проверьте, где развернуто веб-приложение.
  3. Если выбрана опция Использовать установку Tomcat, тогда веб-приложение должно быть в <Tomcat>/webapps. Если нет, убедитесь, что выбрали эту опцию, и приложение будет непосредственно развернуто в папке Tomcat.
7
Luiggi Mendoza

Перейдите в Свойства проекта -> Фасеты проекта и измените версию Dynamic Web Module. Если установлено значение 3.1, измените его на 3.0. Если вы не можете изменить версию, снимите флажок и нажмите «Применить». Тогда вы можете выбрать версию, проверить ее и применить-ОК . Работал для меня!

20
Piyush Vashisht

Да, используя Maven, проект Spring с соответствием Java EE, мы сталкиваемся с этой проблемой с Tomcat. Чтобы устранить эту проблему, пожалуйста, выполните список команд, чтобы сделать проект как совместимый с Java EE.

  1. $ mvn Eclipse:clean - для очистки файлов Eclipse, таких как .project .classpath
  2. $ mvn Eclipse:eclipse -Dwtpversion=2.0 для создания Eclipse, совместимого с Java EE.

Наконец, откройте проект в Eclipse, выберите сервер Tomcat, теперь нажмите Run на серверах (Alt + Shift + x, R) и выберите Tomcat7.0 для запуска.

20
Pavan

Если вы получаете сообщение об ошибке «Tomcat версии 7.0 поддерживает только веб-модули J2EE 1.2, 1.3, 1.4 и Java EE 5 и 6» при попытке добавить проект в Tomcat 7. Просто

Щелкните правой кнопкой мыши по проекту -> перейдите к фасетам проекта -> снимите флажок dymanic web module (который должен быть 3.1) -> apply ->, затем измените динамический веб-модуль на 3.0 -> apply и затем сохраните. 

Попробуйте добавить сейчас, и это должно работать.

6
Harsha Thota

Для Tomcat версии 6

В проекте .settings folder OR или 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 Вам нужно facet = "jst.web" version = "3.0" для развертывания на Tomcat 7.

5
Ankit Pandey

1) Перейдите к своему проекту в папке в рабочей области Eclipse.
2) Откройте папку .setting
3) Откройте xml-файл «org.Eclipse.wst.common.project.facet.core».
4) Обновить версию в последней строке как 2.4 или 2.5
5) Обновите проект и попробуйте запустить на сервере

4
ggwp

Эту проблему можно решить, изменив версию Dynamic Web Module на 3.0. Это можно сделать двумя способами. 

  1. Перейдите в свойства проекта и нажмите на фасеты проекта, теперь вы видите опцию Dynamic Web Module, измените ее на 3.0 

  2. Для тех, кто не может изменить версию на предыдущем шаге, откройте org.Eclipse.wst.common.project.facet.core.xml и измените здесь версию на что-то вроде <installed facet="jst.web" version="3.0"/> 

Теперь перейдите к фасетам проекта и увидите, что версия Dynamic Web Module изменена на 3.0

0
mannedear

Чтобы решить эту проблему Вам необходимо обновить версию 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

  1. В папке проекта перейдите в папку .settings.
  2. Откройте org.Eclipse.wst.common.project.facet.core XML-документ.
  3. Изменить строку <installed facet="jst.web" version="3.1"/> в <installed facet="jst.web" version="3.0"/>
  4. Сохраните изменения.
  5. Перейдите на Eclipse и обновите проект.

Теперь вы сможете опубликовать свой проект на Tomcat 7.

0
darvycode

Я думал, что добавлю что-то к этому вопросу, поскольку я попробовал все вышеперечисленное и в итоге сделал что-то другое, чтобы решить мою проблему:

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"/>, обновление 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>
0
thonnor