根据需要把系统中的一部分功能从原系统抽离出来,成为一个独立的新的工程,但是在启动过程中遇到了许多问题
问题:1 项目抽离完成后无法添加到tomcat中如下所示,在add and Remove中找不到相应的工程
解决:右键项目properties》project facets>将Dynamic Web Module 勾选(如右图)》Apply》OK。再次add and Remove就可以找到相应工程了
问题2:添加到tomcat以后,运行tomcat发现不能启动项目
问题原因:将maven转换为Dynamic Web Module以后会生成WebContent目录,在tomcat启动时eclipse会找到里面的WebContent,将/它下的文件复制到tomcat
解决: 把WebContent替换成/src/main/webapp就可以了,到这里eclipse可以将将/src/main/webapp下的文件复制到tomcat了
然后还有要将.settings下的两个文件.jsdtscope和org.eclipse.wst.common.component进行如下修改:
org.eclipse.wst.common.component中的 <wb-resource deploy-path="/" source-path="/src/main/WebContent"/>修改为<wb-resource deploy-path="/" source-path="/src/main/webapp"/>。.jsdtscope加上<classpathentry kind="src" path="target/autodeploy-0.0.1-SNAPSHOT"/>
.jsdtscope的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="target/autodeploy-0.0.1-SNAPSHOT"/><!-此处为新增->
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="src/main/webapp"/>
<classpathentry kind="src" path="target/m2e-wtp/web-resources"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>
org.eclipse.wst.common.component的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="wechat">
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
<wb-resource deploy-path="/" source-path="/target/autodeploy-0.0.1-SNAPSHOT"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp"/><!-此处原来是WebContent,修改为webapp->
<property name="context-root" value="wechat"/>
<property name="java-output-path" value="/wechat/target/classes"/>
</wb-module>
</project-modules>
然后再启动项目就可以了