将Maven的Java Project转换或修改为Web Project

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将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>

 

以上是关于将Maven的Java Project转换或修改为Web Project的主要内容,如果未能解决你的问题,请参考以下文章

尝试比较现有Java Project的Ant构建到Maven或Gradle的迁移吗?

eclipse中 将java项目转换为web项目

在windows下新建maven项目

转:如何将 Java 项目转换成 Maven 项目

如何将基于 java 的注释 maven 项目转换为 Spring Boot?

maven--学习--创建java项目