将Maven的Java Project转换为Web Project关键是需要了解Eclipse和MyEclipse的工程中如下文件.classpath、.project、
.mymetadata和setting文件夹下的相关配置文件的含义和作用。
.project文件,本文主题将Maven的Java Project转换为Web Project,关键是如下配置:
<?xml version=”1.0”encoding=”UTF-8”?>.classpath文件详细描述:
<?xml version=”1.0”encoding=”UTF-8”?>
<classpath>
<!-- 源码目录 -->
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
<!-- JDK运行时容器 -->
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_20"/>
<!-- 引用Maven相关jar包 -->
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
<!-- 编译后输出class目录 -->
<classpathentry kind="output" path="target/classes"/>
</classpath>
对于myeclipse工程多了一个.mymetadata文件:
<?xml version=”1.0”encoding=”UTF-8”?>
<!--
type : 工程类型
name : 工程名称
id : 工程在工作空间内的唯一标识
context-root : 系统根路径
j2ee-spec: J2EE标准
archive : 打包后war文件
-->
<project-module
type="WEB"
name="trust_product_admin"
id="myeclipse.1411629788403"
context-root="/trust_product_admin"
j2ee-spec="5.0"
archive="trust_product_admin.war">
<attributes>
<!-- value : Web根目录名称-->
<attribute name="webrootdir" value="src/main/webapp" />
</attributes>
</project-module>
某些工程的setting文件夹下可能会存在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="product_web">
<!-- <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>-->注意:这段需要注释掉
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<dependent-module archiveName="product_core-0.0.1-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/product_core/product_core">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/product_web/target/classes"/>
<property name="context-root" value="trust_product_web"/>
</wb-module>
</project-modules>