Tomcat 7.0版仅支持J2EE 1.2,1.3,1.4和Java EE 5和6 Web模块

我正试图在Eclipse J2EE透视图中使用Tomcat 7部署一个非常简单的HTTPServlet项目。 我收到错误“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服务器上。 有任何想法吗?

Tomcat 不是 Java EE兼容的应用程序服务器,因此您不需要在此处使用EJB或CDI。 相反,使用构建在tomcat之上的JBoss Wildfly或TomEE 。 或者,更改为完全不同的Java EE实现,如GlassFish 。

另一个选项可能是您直接部署到Tomcat。 Eclipse默认情况下部署在不同的文件夹上,并使用某种旁路来查看它在Tomcat上的部署。 跟着这些步骤:

  1. 在Eclipse中,转到Servers视图(如果它在IDE中不可见,转到Window / Show view / Servers),它将显示您的tomcat服务器(和其他),双击它。
  2. 在Tomcat概述窗口中,选中“服务器位置”面板,展开它并检查Webapp的部署位置。
  3. 如果选择的选项是使用Tomcat安装,则Web应用程序必须位于 / webapps中。 如果没有,请确保选择此选项,应用程序将直接部署在Tomcat文件夹中。

是的,使用具有Java EE合规性的Maven,Spring项目我们将面临Tomcat的这个问题。 要解决此问题,请执行命令列表以使项目符合Java EE标准。

  1. $ mvn eclipse:clean – 清理.project .classpath等eclipse文件
  2. $ mvn eclipse:eclipse -Dwtpversion=2.0创建与Java EE兼容的eclipse。

最后在eclipse中打开项目选择服务器tomcat现在点击运行服务器(Alt + Shift + x,R)选择tomcat7.0来运行。

转到项目属性 – >项目构面并更改动态Web模块的版本。 如果设置为3.1,则将其更改为3.0。 如果它不允许您更改版本,请取消选中它并按应用。 然后您可以选择版本,检查并应用 – 确定。 为我工作!

如果您在尝试将项目添加到Tomcat 7时遇到“Tomcat 7.0版仅支持J2EE 1.2,1.3,1.4和Java EE 5和6 Web模块”错误。

右键单击项目 – >转到项目构面 – >取消选中dymanic web模块(应该是3.1) – > apply – >然后将动态Web模块更改为3.0 – > apply然后保存。

尝试现在添加,它应该工作。

1)转到eclipse工作区中文件夹上的项目。
2)打开.setting文件夹
3)打开“org.eclipse.wst.common.project.facet.core”xml文件
4) 将最后一行的版本更新为2.4或2.5
5)刷新项目并尝试在服务器上运行

对于Tomcat版本6

在项目中, .settings文件夹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

        

Tomcat 7您需要在Tomcat 7上部署facet =“jst.web”version =“3.0”。

当我尝试以上所有内容时,我想我会在这个问题上添加一些内容,最后做了一些不同的事情来解决我的问题:

Tomcat 7.0版仅支持J2EE 1.2,1.3,1.4和Java EE 5和6 Web模块

然后也导致了

无法将项目facet动态Web模块的版本更改为3.0版

在我们的项目中,我们使用Maven构建Java 1.8 / Tomcat 8.5应用程序(仅支持动态Web模块版本3.0 – 而不是4.0)

我们团队中的某个人在我们的父pom.xml中进行了以下更改

  javax.servlet javax.servlet-api 4.0.0 provided  

该版本已从3.0.1移至4.0.0 ,无论我尝试使用正确版本手动覆盖org.eclipse.wst.common.project.facet.core.xml多少次 Maven更新用4.0重新编写了它。

我将版本设置回3.0.1,如下所示,从那时起我的Project Facets显示正确的版本,我的应用程序正在部署到我的内部Tomcat服务器,直到今天,没有人拥有更新到版本4.0.0 🙂

  javax.servlet javax.servlet-api 3.0.1 provided