Maven打jar包的三種方式(小結(jié))
不包含依賴jar包
該方法打包的jar,不包含依賴的jar包,也沒有指定入口類。
<build> <plugins> <plugin> <!-- 指定項目編譯時的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í)行,但是第三方依賴存在一個指定的外部目錄下,遷移時需將jar和依賴目錄一起遷移。
<build> <plugins> <plugin> <!-- 指定項目編譯時的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>
將項目依賴和項目打成一個jar包
該方法打包的jar,指定了入口類,可以直接使用java -jar project.jar執(zhí)行,并且將第三方依賴打到了項目jar包中。
<build> <plugins> <plugin> <!-- 指定項目編譯時的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> <!-- 添加此項后,可直接使用mvn package | mvn install --> <!-- 不添加此項,需直接使用mvn package assembly:single --> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
到此這篇關于Maven打jar包的三種方式(小結(jié))的文章就介紹到這了,更多相關Maven打jar包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java利用TCP協(xié)議實現(xiàn)客戶端與服務器通信(附通信源碼)
這篇文章主要介紹了Java利用TCP協(xié)議實現(xiàn)客戶端與服務器通信(附通信源碼),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07java后臺調(diào)用HttpURLConnection類模擬瀏覽器請求實例(可用于接口調(diào)用)
這篇文章主要介紹了java后臺調(diào)用HttpURLConnection類模擬瀏覽器請求實例,該實例可用于接口調(diào)用,具有一定的實用價值,需要的朋友可以參考下2014-10-10SpringCloud微服務之Hystrix組件實現(xiàn)服務熔斷的方法
微服務架構特點就是多服務,多數(shù)據(jù)源,支撐系統(tǒng)應用。這樣導致微服務之間存在依賴關系。這篇文章主要介紹了SpringCloud微服務之Hystrix組件實現(xiàn)服務熔斷的方法,需要的朋友可以參考下2019-08-08SpringSecurity導致SpringBoot跨域失效的問題解決
本文主要介紹了SpringSecurity導致SpringBoot跨域失效的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01