Springboot拆分打包

参考文档: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  #日志配置文件路径
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容