一尘不染

Eclipse Maven Spring:尝试作为服务器运行时发生服务器错误(Tomcat 7)

tomcat

我有一个使用 Spring MVC 框架和 Maven 作为其构建系统的Java项目。我希望使用的主要IDE是 Eclipse for
Java EE

。我正在为我的应用程序使用标准的Maven项目结构:源代码位于src/main/java,应用程序资源位于,src/main/resources并且Web容器相关的代码位于src/main/webapp。在中src/main/webapp/WEB- INF,我有一个web.xml用于配置服务器的文件和多个与Spring相关的文件(例如上下文XML文件和视图)的文件夹。这些Spring文件在web.xml中合法链接。

当我尝试使用 Maven-Tomcat7-Plugin 运行该项目时(通过mvn tomcat7:run- war目标),我的项目成功启动,并且能够查看我的网页并看到我的REST控制器在运行中没有问题。

但是,当我尝试使用Eclipse的Run As Server选项在Eclipse中运行该项目时,它永远不会起作用,我也不知道为什么不这样做。我不断收到一个错误对话框,标题为“ 服务器错误”
,并显示消息 “选择不能在任何服务器上运行”。 我已经在Eclipse中合法配置了 Tomcat 7
服务器运行时;对于其他Java项目,我可以毫无问题地使用此运行时。我已经尝试了Google,Stackoverflow和博客建议的所有方法,以使Eclipse
Maven
Spring项目在Eclipse服务器上工作。我试图删除Eclipse项目,删除Eclipse工作区文件并重新导入该项目(既作为Maven项目又作为常规Java项目),但无济于事。我也尝试过在
Project Facets 并将Web目录设置为src/main/webapp,但也无济于事。

我很困惑;我以前在Eclipse中使用过Tomcat服务器很多次,但是 即使
它使用Maven在Tomcat上部署得很好,它也不能在特定的Spring项目中使用。有谁知道怎么了?我忘了排错步骤了吗?我的项目设置是否与Eclipse对Web
Server项目的期望有冲突?提前致谢。


阅读 193

收藏
2020-06-16

共1个答案

一尘不染

我想我知道了。Eclipse的动态Web模块版本3.1中可能存在错误。正在使用此版本导入我的项目,因为我在pom.xml中使用了javax.servlet-
api的3.1版。当我将版本更改为版本3.0时,现在可以将其作为服务器运行。

基本上,要进行此更改,我必须进入.settings/org.eclipse.wst.common.project.facet.core.xml并将<installed facet="jst.web" version="3.1"/>标记更改为<installed facet="jst.web" version="3.0"/>

是时候向Eclipse提交错误了……

2020-06-16