关于idea下springboot多模块项目直接打jar包问题

最近有一台没权限安装代码管理工具的服务器需要将springboot项目打包成一个jar,然后发布上去,在网上找了一堆教程,发现竟然没有几个是对的,要么打包的东西是失败的,要么打包出来还要自己附带一堆的依赖jar包,犹如脱裤子放屁一般,遂自己尝试,总结相关步骤如下:

1.首先最重要的当然是在pom中引入maven打包工具,like this:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 指定该Main Class为全局的唯一入口 -->
                    <mainClass>cn.hetaoxk.noonday.AndromedaApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

这里非常要注意的是:如果有一个parent pom自定义的,管理了其他的模块,则他的发布类型应该是pom而不是jar,其次他不能引入打包工具;

2.如果有公共依赖模块,比如定义了一堆的DTO,CONSTANTS之类的,请一定不要在pom中引入打包工具,否则报错,就算不报错也会打包失败,可以理解为,谁需要打包部署,那么谁就引入打包插件;

3.在idea中点击右侧栏的Maven Projecties  然后点击如下地方,在输入处输入maven clean;然后maven package,然后target下可以找到相应的jar包;

猜你喜欢

转载自blog.csdn.net/hetao9033/article/details/89739009
今日推荐