springboot用maven打包配置文件外移到jar包外config

springboot用maven打包,将配置文件外移到jar包外的config文件夹下,jar包放到外面的libs目录下

费了好大的劲找到的方法,做个记录

<!-- 打包spring boot应用 -->
    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <!-- 控制资源文件的拷贝 -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                </includes>
                <filtering>false</filtering>
                <targetPath>${project.build.directory}/config</targetPath>
            </resource>
        </resources>
        <plugins>
            <!-- 设置编译版本 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- 拷贝依赖的jar包到libs目录 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                ${project.build.directory}/libs
                            </outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- 打jar包插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <!-- 主程序入口main方法所在类 -->
                        <manifest> 
                            <addClasspath>true</addClasspath> 
                            <classpathPrefix>libs/</classpathPrefix> 
                            <mainClass>com.xxx.RunApplication</mainClass> 
                        </manifest> 
                        <!-- (配置文件外置目录) -->
                        <manifestEntries>
                            <Class-Path>config/</Class-Path>
                        </manifestEntries>
                    </archive>
                    <classesDirectory></classesDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>

还遇到个比较奇怪的问题,引入的本地jar包,打包时,竟然不能自动加到MANIFEST文件的ClassPath中。

后来经过查找,可以通过这里配置

<Class-Path>config/(空格) libs/无法加入的.jar<Class-Path>

猜你喜欢

转载自blog.csdn.net/hebsun/article/details/104834971