IDEA打包的兩種方式及注意事項(xiàng)說明
方式一、build打包
1、進(jìn)入project structure
2、要選擇啟動(dòng)類以及MANIFEST.MF選擇src目錄下即可
之后在項(xiàng)目里會(huì)生成一個(gè)META-INF文件夾,就是存儲(chǔ)了項(xiàng)目的元信息,其中文件manifest.mf
僅此一份,描述了程序的基本信息、Main-Class
的入口、jar
依賴路徑Class-Path
。(不用管就行)
3、進(jìn)行build打包
打包后生成jar包應(yīng)該位于項(xiàng)目下out目錄中。(如果啟動(dòng)有問題無法解決,可嘗試方式二)
方式二:maven打包
1、pom添加依賴
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--選擇啟動(dòng)類--> <mainClass>com.sunsheen.DataArchivesApplication</mainClass> <!--允許添加本地jar包--> <includeSystemScope>true</includeSystemScope> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
如果有本地jar包需添加:
需要引入本地jar包,我把jar存放的項(xiàng)目中的/src/main/resources/lib 下
<dependency> <groupId>org.gbase</groupId> <artifactId>gbase-connector-java</artifactId> <scope>system</scope> <version>8.3</version> <systemPath>${project.basedir}/src/main/resources/lib/gbase.jar</systemPath> </dependency>
scope
:需要配置指定為system;systemPath
:指向jar包的地址;groupId
、artifactId
、version
:可以隨意填寫,其中artifactId+version就是maven打包后的jar包名
之后先clean之前的target,再package就可以target目錄下生成jar包了。
命令行方式:
<!--打jar包命令 mvn clean install -Dmaven.test.skip=true--> <!--打war包命令 mvn clean package -Dmaven.test.skip=true-->
最后打包生成的文件:
- .jar.original 是普通jar包,不包含依賴
- .jar 是可執(zhí)行jar包,包含了pom中的所有依賴,可以直接用java -jar 命令執(zhí)行
如果是部署,就用.jar
如果是給別的項(xiàng)目用,就要給.jar.original這個(gè)包
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot動(dòng)態(tài)調(diào)用實(shí)現(xiàn)類方式
這篇文章主要介紹了springboot動(dòng)態(tài)調(diào)用實(shí)現(xiàn)類方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11Java使用get請求接收List集合數(shù)據(jù)(json)并導(dǎo)出報(bào)表問題
這篇文章主要介紹了Java使用get請求接收List集合數(shù)據(jù)(json)并導(dǎo)出報(bào)表問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11關(guān)于SpringBoot使用Redis空指針的問題(不能成功注入的問題)
這篇文章主要介紹了關(guān)于SpringBoot使用Redis空指針的問題(不能成功注入的問題),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Java避免死鎖_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
在有些情況下死鎖是可以避免的。本文將展示三種用于避免死鎖的技術(shù)。對java避免死鎖的相關(guān)知識(shí)感興趣的朋友一起通過本文學(xué)習(xí)吧2017-06-06Java循環(huán)調(diào)用多個(gè)timer實(shí)現(xiàn)定時(shí)任務(wù)
這篇文章主要介紹了Java循環(huán)調(diào)用多個(gè)timer實(shí)現(xiàn)定時(shí)任務(wù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07BeanPostProcessor在顯示調(diào)用初始化方法前修改bean詳解
這篇文章主要介紹了BeanPostProcessor在顯示調(diào)用初始化方法前修改bean詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12