Eclipse+Maven+WTP+Tomcat不能Run On Server其中一个原因
使用Maven有段时间了,自己DIY项目后遇到了一个问题,项目不能使用WTP提供的Run On Server功能……
1、问题描述
配置好项目,配置好Tomcat6,加入项目到Tomcat中然后运行Tomcat没有加载项目的日志信息
2、环境配置
- Eclipse With Java EE + WTP + Maven
- WTP的组件配置.settings/org.eclipse.wst.common.component
说明一下wtp的默认规则,org.eclipse.wst.common.component规定deploy-path为斜杠(/)并且是包含WEB-INF的wb-resource要在第一位,所以我在这里犯错了,看上面的配置就清楚了
3、问题原因
我一向喜欢“工欲善其事必先利其器”;因为基于Maven的WTP工程默认只有一个
看截图
所以默认的.settings/org.eclipse.wst.common.component的配置如下:
现在比较一下就比较清楚了,原因是我DIY的配置多了3行,所以我DIY的配置如下:
还有另外一个原因就是因为我的通过m2eclipse插件提供的SCM功能checkout项目,原本DIY配置好的项目被eclipse改动了,从svn信息看得出来,所以导致了问题的发生
4、问题关键所在
保证项目的.settings/org.eclipse.wst.common.component文件中的
在以deploy-path="/"的wb-resource排在第一位,因为tomcat启动时要读取WEB-INF/web.xml,如果不在第一位找不到当然服务不能启动
5、问题解决
- 根据上面说的保证webapp的位置即可,最终配置如下,可以保留DIY结果又可以启动服务:
- 或者不要使用m2eclipse提供的SCM检出功能,直接用乌龟checkout,这样就不会因为eclipse自动设置修改.settings/org.eclipse.wst.common.component配置了