將Maven的Java Project轉換或修改爲Web Project

將Maven的Java  Project轉換爲Web Project關鍵是需要了解Eclipse和MyEclipse的工程中如下文件.classpath、.project、

.mymetadata和setting文件夾下的相關配置文件的含義和作用。

.project文件,本文主題將Maven的Java  Project轉換爲Web Project,關鍵是如下配置:

<?xml version=”1.0”encoding=”UTF-8”?>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <!-- 工程名稱-->
    <name>trust_product_admin</name>
    <comment></comment>
    <projects>
    </projects>
    <!-- 編譯器指定<buildSpec>,此處省略相關buildCommand-->
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <!-- 運行時需要的額外Eclipse插件-->
    <natures>
        <!-- 本文主題將Maven的Java  Project改爲Web Project的關鍵組件即webnature-->
        <nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
        <nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature>
        <nature>org.maven.ide.eclipse.maven2Nature</nature>
        <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
        <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
        <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
        <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
    </natures>
</projectDescription>

.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>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章