maven转eclipse JEE应用
我的maven结构是
外层应用
biz应用
web应用
创建一个动态web应用
这个新创建的应用的classpath文件
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resource"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="owner.project.facets" value="jst.java"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
将<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
部分复制到maven应用的web部分的classpath文件
修改maven应用的web部分的.project文件
JEE动态应用的buildSpec是
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
将需要的buildCommand复制过去(不需要全部复制,根据你的需要)
natures部分
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
也只需要复制需要的
将新建立的jee应用的
.settings目录复制到maven的wen部分
修改
org.eclipse.wst.common.component文件内容
<wb-module deploy-name="daowole">的deploy-name不熟名字,不影响web容器,建议和应用名相同
<wb-resource deploy-path="/" source-path="/WebContent"/>这句话是指从source-path目录拷贝文件按到不熟后的目录
如果source-path制定的目录有java源文件,会根据这个文件夹得类型进行操作:
1。如果这个文件夹是被eclipse标示为source package了,那么会被编译后复制过去。
2。否则,直接复制过去。
<property name="context-root" value="daowole"/>
这部分标示不熟到jee容器后的文件夹名字
一个事例
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="daowole">
<wb-resource deploy-path="/" source-path="/WebContent"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/resource"/>
<property name="java-output-path" value="/godo/build/classes"/>
<property name="context-root" value="daowole"/>
</wb-module>
</project-modules>
其他不需要修改
启动eclipse,导入maven应用
在web应用部分右击,选择属性,选择project References那,在依赖选择项,将biz应用勾上(否则不熟到jee容器后,biz部分不会部署过去)
另有一方法见http://limingnihao.iteye.com/blog/830409