一、排除错误打包配置

前景诉明:#####

在Spring boot项目或SpringMvc等项目Maven打包时,因开发环境和线上环境的异域性,一些外部API调用或请求在开发环境会不同而导致报错,但线上环境并不影响,而开发环境在Maven打包时则会因此而打包不成功,所以记录下排除错误打包配置

1
2
3
4
5
6
7
8
9
10
11
12
13
<build>
<plugins>
...
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>

二、外部引用依赖打包配置

前景诉明:#####

Springboot项目使用maven进行打包,maven的默认打包插件用的是spring-boot-maven-plugin,这个插件会把项目中的代码和相关依赖一起打包成一个jar包,此处记录因此打包jar太大或其他原因而配置依赖Jar外部引用,所有的jar文件都放在生成目录的jars/文件夹下,生成的项目jar包里面只包含项目代码部分。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<build>
<plugins>
...
...
<!-- 去除spring-boot-maven-plugin插件配置 -->
<!-- 插件指定jar包的启动类,还有lib文件目录 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<!-- 依赖存储路径包名 -->
<classpathPrefix>jars/</classpathPrefix>
<!-- 启动类路径 -->
<mainClass>com.gy.api.GyApiApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<!-- 插件将依赖文件复制到jars文件夹下 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/jars</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
ecutions>
</plugin>
</plugins>
</build>

spring-boot-maven-plugin插件配置去除勿忘