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>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章