最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Maven打包jar(lib目錄分離和不分離)的兩種方式

 更新時間:2024年07月30日 09:56:03   作者:成為大佬先禿頭  
打包jar的方式有很多種,本文主要介紹了Maven打包jar的兩種方式,包含lib目錄分離和不分離,具有一定的參考價值,感興趣的可以了解一下

前言

Jar文件(Java歸檔,英語:Java Archive)是一種軟件包文件格式,以流行的 ZIP 文件格式為基礎。不僅用于壓縮和發(fā)布,還用于部署和封裝庫、組件和插件程序以便開發(fā)Java平臺應用軟件或庫。

背景需求

打包jar的方式有很多種:比如通過jar命令去打包,包括現在市面上常用的java開發(fā)工具idea、eclipse等,都集成了打包方法,只需配置一下即可(有需要自行上網了解),后來學習web開發(fā)接觸maven,又開始用maven進行打包,只需install一下很方便,下面將網上五花八門(看的頭暈)的maven配置結合我實際開發(fā)需求介紹兩種打包方式

Maven打包jar與lib依賴包不分離

打包插件用的是spring-boot-maven-plugin,這個插件會把項目中的代碼和相關依賴一起打包成一個jar包,我們只需哪到這個jar包發(fā)布到服務器上即可,很方便。但是jar包里面包含特別多的其他依賴,所以每次更新服務器jar包,特別費時間。

	<build>
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!--指定jar程序入口-->
					<mainClass>com.baidu.test.App</mainClass>
				</configuration>
			</plugin>
		</plugins>
	</build>

配置好后,可以通過mvn install命令或者找到開發(fā)軟件上的maven工作欄找到你要編譯的項目點擊install即可,然后找到你項目目錄找到target文件夾打開,里面就有你剛剛打包好的jar包,50多M,很大。

在這里插入圖片描述

我們可以通過壓縮工具查看jar包的文件目錄,找到BOOT-INF下lib目錄,可以看到里面有很多依賴包,然后其他的文件就是一些class文件和配置文件

在這里插入圖片描述

Maven打包jar與lib依賴包分離

為了解決jar包太打不方便發(fā)布的問題,就把jar包中的依賴和jar包分離開,在發(fā)布時如果依賴包沒啥變動,就只需要發(fā)布jar包即可,這樣發(fā)布速度便能優(yōu)化不少

<build>
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
						    <!-- 是否要把第三方jar加入到類構建路徑 -->
							<addClasspath>true</addClasspath>
							<!-- 外部依賴jar包的最終位置 -->
							<classpathPrefix>lib/</classpathPrefix>
							<!--指定jar程序入口-->
							<mainClass>com.baidu.test.App</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<!--拷貝依賴到jar外面的lib目錄-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<!-- 拷貝項目依賴包到lib/目錄下 -->
							<outputDirectory>${project.build.directory}/lib</outputDirectory>
							<overWriteReleases>false</overWriteReleases>
							<overWriteSnapshots>false</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

配置好后,可以通過mvn install命令或者找到開發(fā)軟件上的maven工作欄找到你要編譯的項目點擊install即可,然后找到你項目目錄找到target文件夾打開,里面就有你剛剛打包好的jar包和lib文件,此時jar包只有10幾kb,特別小,上傳速度更快了

在這里插入圖片描述

我們再通過壓縮工具查看jar包的文件目錄,BOOT-INF目錄已經沒有了,就是一些class文件和配置文件

在這里插入圖片描述

到此這篇關于Maven打包jar(lib目錄分離和不分離)的文章就介紹到這了,更多相關Maven打包jar內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Java多種獲取項目路徑下的文件方式

    Java多種獲取項目路徑下的文件方式

    文章介紹了在Java項目中獲取resources文件夾下文件的InputStream的多種方法,包括使用類加載器、上下文類加載器、系統(tǒng)屬性和Paths類
    2024-12-12
  • java實現MD5加密方法匯總

    java實現MD5加密方法匯總

    本文給大家匯總介紹了2種java實現MD5加密的方法,非常的實用,這里分享給大家,學習下其中的思路,對大家學習java非常有幫助。
    2015-10-10
  • Java性能調優(yōu)及排查方式

    Java性能調優(yōu)及排查方式

    這篇文章主要介紹了Java性能調優(yōu)及排查方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 詳解Java多線程和IO流的應用

    詳解Java多線程和IO流的應用

    這篇文章主要介紹了詳解Java多線程和IO流的應用,無論是本地文件復制,還是網絡多線程下載,對于流的使用都是一樣的,需要的朋友可以參考下
    2023-04-04
  • JUnit4 Hamcrest匹配器常用方法總結

    JUnit4 Hamcrest匹配器常用方法總結

    這篇文章主要介紹了JUnit4 Hamcrest匹配器常用方法總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • java實現Img與PDF相互轉換

    java實現Img與PDF相互轉換

    這篇文章主要為大家詳細介紹了java實現Img與PDF相互轉換的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Java中的迭代器和foreach原理

    Java中的迭代器和foreach原理

    這篇文章主要介紹了Java中的迭代器和foreach原理,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-09-09
  • Java使用okhttp3發(fā)送請求的實現示例

    Java使用okhttp3發(fā)送請求的實現示例

    OkHttp3是一個高效的HTTP客戶端,支持HTTP/2、GZIP壓縮、響應緩存和異步/同步請求,本文就來介紹一下Java使用okhttp3發(fā)送請求的實現示例,感興趣的可以了解一下
    2025-12-12
  • Spring AOP實現Redis緩存數據庫查詢源碼

    Spring AOP實現Redis緩存數據庫查詢源碼

    這篇文章主要介紹了Spring AOP實現Redis緩存數據庫查詢的相關內容,源碼部分還是不錯的,需要的朋友可以參考下。
    2017-09-09
  • vue+springboot上傳文件、圖片、視頻及回顯到前端詳解

    vue+springboot上傳文件、圖片、視頻及回顯到前端詳解

    一般來說vue可以使用axios或者fetch等ajax庫發(fā)送文件請求,而springboot則可以使用Spring MVC的方式來處理上傳文件請求,下面這篇文章主要給大家介紹了關于vue+springboot上傳文件、圖片、視頻及回顯到前端的相關資料,需要的朋友可以參考下
    2023-04-04

最新評論

资兴市| 区。| 博兴县| 西藏| 敦煌市| 普洱| 罗甸县| 祁东县| 吉木乃县| 麻栗坡县| 菏泽市| 德兴市| 新乡市| 武胜县| 凤山县| 屯门区| 延庆县| 深州市| 罗甸县| 尼玛县| 贵州省| 丹寨县| 科技| 昭通市| 股票| 舒兰市| 嘉义县| 波密县| 嘉鱼县| 赣州市| 万盛区| 抚顺县| 永城市| 虞城县| 黎平县| 家居| 怀远县| 宁河县| 光山县| 陆河县| 黄平县|