参考文档:https://blog.csdn.net/AWen_Jack/article/details/104062038
【问题】
1.Nacos无法使用
由于编码方式导致Nacos配置无法读取,增加启动参数:`-Dfile.encoding=utf-8`
2.xxx-xxx-xxx-xxx.jar\META-INF\MANIFEST.MF中的项目相关SNAPSHOT依赖包带日期
pom.xml配置`<useUniqueVersions>false</useUniqueVersions>`
【修改】
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 资源根目录排除各环境的配置,使用单独的资源目录来指定 -->
<excludes>
<exclude>dev/*</exclude>
<exclude>test/*</exclude>
<exclude>product/*</exclude>
</excludes>
</resource>
</resources>
<plugins>
<!-- jar 打包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<useUniqueVersions>false</useUniqueVersions> <!--修复项目相关SNAPSHOT依赖包带日期-->
<mainClass>xxx.xxx.XXXApplication</mainClass>
</manifest>
<manifestEntries>
<Class-Path>./</Class-Path>
</manifestEntries>
</archive>
<!--自定义项: 打包时,需要排除的文件或文件夹-->
<excludes>
<exclude>bootstrap.yml</exclude>
<exclude>logback.xml</exclude>
</excludes>
<outputDirectory>target/${project.name}/</outputDirectory>
</configuration>
</plugin>
<!-- 打包跳过测试 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- copy 依赖包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--依赖jar复制到的文件夹路径-->
<outputDirectory>target/${project.name}/lib/</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<!-- 不同环境的资源文件 -->
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<!--将指定resource文件复制到的目标文件夹-->
<outputDirectory>target/${project.name}/config</outputDirectory>
<resources>
<resource>
<!--复制src/main/resources/目录下的application.properties/logback.xml文件到config目录下-->
<directory>src/main/resources/</directory>
<includes>
<include>bootstrap.yml</include>
<include>logback.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
【启动】
java -Dloader.path=./lib -Dfile.encoding=utf-8 -jar xxx-xxx-xxx-xxx.jar --logging.config=./config/logback.xml
参数说明:
-DGID=./ #项目根目录路径
-Dloader.path=./lib #jar包依赖所在路径
--logging.config=./config/logback-spring.xml #日志配置文件路径