方便网络传输,启动方式 java -jar -Dfile.encoding=utf-8 xxxx.jar --spring.profiles.active=prod
配置文件加载优先级:jar同级config下配置文件 > jar同级配置文件 > classpath下config配置文件 > classpath下配置文件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<classesDirectory>${project.build.directory}/classes/</classesDirectory>
<archive>
<manifest>
<mainClass>com.panku.xxxApplication</mainClass>
<addClasspath>true</addClasspath>
<!-- <useUniqueVersions>false</useUniqueVersions>-->
<classpathPrefix>lib/</classpathPrefix>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
<!-- 构建jar包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
<!--手动设置构建需要加入的依赖,只有配置的依赖才会加入。-->
<includes>
<!--配置一个不存在的groupId,这样就不会引入任何依赖,jar包就只包含代码文件-->
<include>
<groupId>not-exists</groupId>
</include>
<!--如果是多模块项目,其他模块需要手动添加下面-->
</includes>
</configuration>
</plugin>
<!--拷贝第三方依赖文件到指定目录-->
<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>
<!--target/lib是依赖jar包的输出目录,根据自己喜好配置-->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>