Maven打jar包的三種方式(小結(jié))
不包含依賴jar包
該方法打包的jar,不包含依賴的jar包,也沒有指定入口類。
<build> <plugins> <plugin> <!-- 指定項(xiàng)目編譯時(shí)的java版本和編碼方式 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <target>1.8</target> <source>1.8</source> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
將依賴jar包輸出到指定目錄
該方法打包的jar,指定了入口類,可以直接使用java -jar project.jar執(zhí)行,但是第三方依賴存在一個(gè)指定的外部目錄下,遷移時(shí)需將jar和依賴目錄一起遷移。
<build> <plugins> <plugin> <!-- 指定項(xiàng)目編譯時(shí)的java版本和編碼方式 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <target>1.8</target> <source>1.8</source> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> <configuration> <archive> <manifest> <mainClass>com.netty.client.SignalClient</mainClass> <!-- 指定入口類 --> <addClasspath>true</addClasspath> <!-- 在jar的MF文件中生成classpath屬性 --> <classpathPrefix>lib/</classpathPrefix> <!-- classpath前綴,即依賴jar包的路徑 --> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.1</version> <executions> <execution> <id>copy</id> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <!-- 指定依賴包的輸出路徑,需與上方的classpathPrefix保持一致 --> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>
將項(xiàng)目依賴和項(xiàng)目打成一個(gè)jar包
該方法打包的jar,指定了入口類,可以直接使用java -jar project.jar執(zhí)行,并且將第三方依賴打到了項(xiàng)目jar包中。
<build> <plugins> <plugin> <!-- 指定項(xiàng)目編譯時(shí)的java版本和編碼方式 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <target>1.8</target> <source>1.8</source> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <archive> <manifest> <mainClass>com.netty.client.SignalClient</mainClass> <!-- 指定入口類路徑 --> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> <!-- jar包后綴,生成的jar包形式為:project-1.0-SNAPSHOT-jar-with-dependencies.jar --> </descriptorRefs> </configuration> <!-- 添加此項(xiàng)后,可直接使用mvn package | mvn install --> <!-- 不添加此項(xiàng),需直接使用mvn package assembly:single --> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
到此這篇關(guān)于Maven打jar包的三種方式(小結(jié))的文章就介紹到這了,更多相關(guān)Maven打jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java Spring Boot消息服務(wù)萬字詳解分析
在實(shí)際項(xiàng)目開發(fā)中,有時(shí)需要與其他系統(tǒng)進(jìn)行集成完成相關(guān)業(yè)務(wù)功能,這種情況最原始做法是程序內(nèi)部相互調(diào)用,除此之外,還可以用消息服務(wù)中間件進(jìn)行業(yè)務(wù)處理,用消息服務(wù)中間件處理業(yè)務(wù)能夠提升系統(tǒng)的異步通信和擴(kuò)展解耦能力。Spring Boot對(duì)消息服務(wù)管理提供了非常好的支持2021-10-10Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)
這篇文章主要介紹了Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07java后臺(tái)調(diào)用HttpURLConnection類模擬瀏覽器請(qǐng)求實(shí)例(可用于接口調(diào)用)
這篇文章主要介紹了java后臺(tái)調(diào)用HttpURLConnection類模擬瀏覽器請(qǐng)求實(shí)例,該實(shí)例可用于接口調(diào)用,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10springboot如何實(shí)現(xiàn)導(dǎo)入其他配置類
這篇文章主要介紹了springboot如何實(shí)現(xiàn)導(dǎo)入其他配置類問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11SpringCloud微服務(wù)之Hystrix組件實(shí)現(xiàn)服務(wù)熔斷的方法
微服務(wù)架構(gòu)特點(diǎn)就是多服務(wù),多數(shù)據(jù)源,支撐系統(tǒng)應(yīng)用。這樣導(dǎo)致微服務(wù)之間存在依賴關(guān)系。這篇文章主要介紹了SpringCloud微服務(wù)之Hystrix組件實(shí)現(xiàn)服務(wù)熔斷的方法,需要的朋友可以參考下2019-08-08SpringSecurity導(dǎo)致SpringBoot跨域失效的問題解決
本文主要介紹了SpringSecurity導(dǎo)致SpringBoot跨域失效的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01java 中@Deprecated 注解的實(shí)例詳解
這篇文章主要介紹了java 中@Deprecated 注解的實(shí)例詳解的相關(guān)資料,這里對(duì)@Deprecated注解進(jìn)行了詳細(xì)介紹,希望能幫助到大家,需要的朋友可以參考下2017-08-08