springboot使用maven打包分離lib和resource


springboot使用maven打包分離lib和resource

項目發版,為了應對更新多變的依賴jar包,實現增量或替換依賴jar包,越來越多的企業實現源代碼和依賴jar包和依賴配置分離,更好的應對復雜多變的現場和生產環境,使用maven打包配置如下:

<build>
<plugins> <!-- 指定啟動類,將依賴打成外部jar包 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <!-- 生成的jar中,不要包含pom.xml和pom.properties這兩個文件 --> <addMavenDescriptor>false</addMavenDescriptor> <manifest> <!-- 是否要把第三方jar加入到類構建路徑 --> <addClasspath>true</addClasspath> <!-- 外部依賴jar包的最終位置 --> <classpathPrefix>lib/</classpathPrefix> <!-- 項目啟動類 --> <mainClass>com.mozi.mq_monitor.MqMonitorApplication</mainClass> </manifest> </archive> </configuration> </plugin> <!--拷貝依賴到jar外面的lib目錄--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-lib</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>target/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>compile</includeScope> </configuration> </execution> </executions> </plugin> <!--指定配置文件,將resources打成外部resource--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <!-- 指定配置文件目錄,這樣jar運行時會去找到同目錄下的resources文件夾下查找 --> <manifestEntries> <Class-Path>resources/</Class-Path> </manifestEntries> </archive> <!-- 打包時忽略的文件(也就是不打進jar包里的文件) --> <excludes> <exclude>*.yml</exclude> <exclude>*.xml</exclude> <exclude>mqConfig/*.xml</exclude> </excludes> </configuration> </plugin> <!-- 拷貝資源文件 外面的resource目錄--> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <!-- 資源文件輸出目錄 --> <outputDirectory>${project.build.directory}/resources</outputDirectory> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM