springboot Maven打包

今天使用maven命令打包springboot项目成可执行jar,总是无法成功。表现为打包的jar包只有项目本身的Class,不包含依赖。

但是把项目文件复制到其他目录就能正常使用。后来发现原因是这这样。

项目是一个多Module项目,父pom中这样写的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.8.RELEASE</version>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>

我做的子Module是这样写的。

1
2
3
4
5
6
7
8
9
10
11
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>

这样问题就产生了,子项目是继承父pom的,这样子项目没有写版本号,但是我没注意看到父pom有一个

<skip>true</skip>,这个选项的意思是忽略execution,这样插件就不会执行。

被坑了,弄了好久才注意到父pom这个选项。

打包命令,顺便跳过测试

1
mvn clean package -Dmaven.test.skip=true

springboot Maven打包
https://www.huangchaoyu.com/3399176269.html
作者
hcy
发布于
2020年2月19日
更新于
2024年8月17日
许可协议