maven打包子模块

Could not find artifact XXXXXXXXX:pom:2.6 in public (http://maven.aliyun.com/nexus/content/groups/public/)

日志模块依赖于公共模块,公共模块不依赖于其它子模块。打包公共模块正常,但在打包日志模块的时候报错。此处是因为找不到父工程。

解决办法有两个:

1.父类直接打包

         直接点击父类的install,《EL-ADMIN后台管理》为父模块。

   

         注意:父工程module中的子模块顺序为打包顺序,将需要依赖的模块放在前面,后面的模块就可以引用前面的模块。

2.打包子模块,子模块使用父模块依赖,直接打包某一个子模块,maven会向上查找父模块,此时父模块不存在,报错,可以把父工程中的所有子模块注释掉,然后打包父模块,此时maven仓库中就会有父模块了,然后再打包子模块,成功。

注意:直接打包子模块存在问题,每一个子模块中都会引入父模块中的全部依赖。比如说打包common模块,打包的目标jar文件中包含父工程中的所有依赖,打包logging模块也会包含父工程的所有依赖,如果logging模块引用了common模块,父类工程中的依赖便会重复引用,出现错误。解决方案:一:不在父工程中引入依赖,只定义版本号。二:使用exclude标签,将common中的父类依赖排除掉。但在实际使用中发现并没有真正引入打包的jar包中并没有引入依赖jar包,而是保存的pom.xml文件,也就不会出现上面的问题。

如果需要打包成可执行文件,引入依赖的jar包,此项目是springboot项目,在打包的子模块中引入spring-boot-maven-plugin插件,spring-boot-maven-plugin 插件以Maven的方式为Springboot应用提供支持,能够将Springboot应用打包为可执行的jar或war文件,进行相应部署后即可启动Springboot应用。

<!-- 打包 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- 跳过单元测试 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>

   然后再次打包:

总结:

     maven打包不会引入jar包,打包的模块中依赖以pom.xml方式记录。

     使用spring-boot-maven-plugin插件,可以打包springboot项目。

其他:

1.存在两个root

解决方法,

    

2.mvnw和mvnw.cmd文件 引用于https://blog.csdn.net/qq_42840183/article/details/83057862

mvnw–全名是maven wrapper
  它的原理是在maven-wrapper.properties文件中记录你要使用的maven版本,当用户执行mvnw clean 命令时,发现当前用户的maven版本和期望的版本不一致,那么就下载期望的版本,然后用期望的版本来执行mvn命令,比如刚才的mvn clean。

mvn文件夹–存放maven-wrapper.properties和相关jar包
mvn.cmd–执行mvnw命令的cmd入口
不控制maven版本,这些都可以delete

注意:子模块不要使用springboot项目,使用maven项目,不然可能导致打包后有多个启动主类,程序无法运行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值