SpringBoot系列:打包剝離第三方依賴jar包
阿新 • • 發佈:2019-01-07
1、 pom.xml中加入配置並修改mainClass路徑為自己專案的主函式路徑:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> <!-- 熱部署 --> <includes> <!-- 排除三方包,通過maven-jar形式單獨打依賴包 --> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include> </includes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>springboot主函式全路徑</mainClass> </manifest> </archive> <excludes> <exclude>application*.properties</exclude> <!-- 業務jar中過濾applicationproperties檔案,在jar包外控制 --> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-lib</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> <includeScope>compile</includeScope> </configuration> </execution> </executions> </plugin> </plugins> </build>
2、執行mvn install後項目target目錄效果如下:
3、伺服器部署:
其中springboot對於配置檔案讀取有如下方式:
1、讀取jar包同級目錄下的config目錄中的properties檔案,優先順序最高;
2、讀取jar包同級目錄下的properties檔案,優先順序次之;
3、讀取classpath下的config資料夾中的properties檔案,優先順序第三;
4、在classpath下直接放配置檔案,優先順序最低。
4、啟動服務,測試功能