概述
最近感覺項目在部署時時jar
包傳輸太慢了;
看了下jar
包內(nèi)容,除了項目代碼,其余大部分都是依賴jar
;
平時改動較多的只是項目代碼,依賴jar
改動比較少;
所以就在想能不能分開打包;這樣只部署項目代碼的改動就快多了;
我的jdk
版本:17
springboot
版本:3.1.2
分開打包
將依賴的jar
包都copy
到項目執(zhí)行jar
外面路徑中;
我這邊copy
到項目jar
的同級目錄中,也可以copy
到其他路徑
<!--拷貝依賴到jar外面的lib目錄-->
<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}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
然后打包項目jar
;有2種
打包方式;
項目jar打包方式一:
在依賴jar
前加上class path
;我上面的依賴jar
的存放路徑和項目jar
在同一級下,所以這里直接加上路徑lib
即可;
啟動的時候直接啟動即可
java -jar xxx.jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<manifest>
<!--addClasspath表示需要加入到類構建路徑-->
<addClasspath>true</addClasspath>
<!--classpathPrefix指定生成的Manifest文件中Class-Path依賴lib前面都加上路徑,構建出lib/xx.jar-->
<classpathPrefix>lib/</classpathPrefix>
<mainClass>org.qps.QpsAdminApplication</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
項目jar打包方式二:
依賴jar
的copy
方式不變,調(diào)整打包插件和啟動方式;但是我這邊沒有成功;
打包后依賴的確是分離了;但是啟動的時候一直提示在依賴lib
下找不到主類文章來源:http://www.zghlxwxcb.cn/news/detail-738368.html
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<executable>true</executable>
<!-- 指定layout = ZIP;打包的時候就不會把依賴的jar一起當進去 -->
<layout>ZIP</layout>
<mainClass>org.qps.QpsAdminApplication</mainClass>
<!--解決windows命令行窗口中文亂碼-->
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
<!--只包含自己-->
<includes>
<include>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
</include>
<!--依賴jar不打進項目jar包中-->
<!--<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>-->
</includes>
<!--不包含哪些-->
<!--<excludeGroupIds>-->
<!--com.hundsun.jrescloud,-->
<!--org.springframework.boot,-->
<!--org.springframework-->
<!--</excludeGroupIds>-->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
參考博文
https://www.cnblogs.com/kingsonfu/p/11431743.html文章來源地址http://www.zghlxwxcb.cn/news/detail-738368.html
到了這里,關于springboot打包時依賴jar和項目jar分開打包;jar包瘦身的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!