maven多模块jar包打包的简单解决方案

本文介绍了如何解决Spring Boot项目中pom依赖关系复杂的问题,通过将多个模块合并来简化打包过程。同时,详细阐述了如何确定并配置启动类,确保jar包能正确运行。在打包后,可以通过检查target目录下的jar文件并运行来验证主类设置是否正确。
摘要由CSDN通过智能技术生成


前言

一、打包jar包pom依赖关系过于复杂的解决方法

我的做法比较暴力直接把后端的所有模块合并到一个模块下,初始模块是一个外部模块大Blog用maven管理内部三个模块,然后admin和blog依赖于framework,
请添加图片描述
这个时候我们直接把admin和framework一起归并到admin中,具体的就是把他们的代码和依赖都放入到
下面的blog并删除这两个模块。
在这里插入图片描述
合并之后如上图所示,并且上面的blog的pom中基本上只改了依赖关系,下面的pom基本上只改了module的包含关系,然后此时仍然是可以编译通过的,虽然耦合度增大,但是对于我们的启动类的查找会方便很多,这也是不得已而为之的办法。

二、启动类的确定

1.启动类所在模块(上图blog)

要在pom中加上这段代码,方便于打包
代码如下(示例):

	<plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.4.RELEASE</version>
                <configuration>
                    <!-- 指定该Main-Class的启动类 -->
                    <mainClass>com.xxx.xxx</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>

这里有一点是需要注意的:就是pom打包如果打包多模块,用maven的package生成的只是一个模块的,但是他会把外部的模块也打包进去。

2.找到打包得到的package

找到target中打包好的jar包

java -jar xxx.jar

直接运行即可,如果没有主类的话就查看一下主类的位置和相互的依赖关系。


总结

多模块打包一定要清晰各个模块之间的关系,不然暴力重构要比理清关系要简单得多。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值