首页 > 技术文章 > maven父子工程遇到的bug,子module没有parent标签的解决几种方法

shan333 2021-09-17 09:26 原文

maven父子工程遇到的bug,子module没有parent标签的解决几种方法

 

1,工程结构介绍:

 

■   主maven工程(父maven):普通的工程(因为子工程时servlet项目,所以在父pom中要先移入依赖:javax.servlet-api、javax.servlet.jsp-api)

■   建立子模块(子maven):建工程时选择了org.apache.maven.archetypes:maven-archetype-webapp~ 即servlet的maven项目

 

2,遇到的bug:

使用IDEA创建Maven子项目时,加载完后pom.xml里没有parent标签,还有另外奇怪的点是:

如果子项目是空项目的话,则有parent标签;

 

3,几种解决方式:

(1)手动添加parent(但是可能报错)

(2)修改maven中settings.xml文件的jdk版本(因为maven的xml文件没配置jdk版本导致jdk默认低于1.6)

(修改maven目录下settings.xml,适用全局) (但是可能还是失败

具体步骤:右键工程-》maven -》Open 'setting.xml'-》在<profiles> 下添加:

    <profile>
      <id>jdk-1.8</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>

(3)删除父pom中的module,和删除子maven工程,然后重新创建子maven工程但是还是可能失败

(4)解决方法就是:不用理它啦,因为它应该是内部自动继承了:

   理由如下:翻译一下就是:继承父项目的id。

 

推荐阅读