maven編譯打包速度優化
A. java Maven打包總結(Jenkins多模塊編譯部署)
原文地址: Java Maven打包總結(Jenkins多模塊編譯部署)
依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫
依次執行了clean、resources、compile、testResources、testCompile、test、jar(打物液包)、install等8個階段。
完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫,但沒有布署到遠程maven私服倉庫
依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫
可以看森和到主要區別在把生成的jar包最終存放的位置, package只管打包; install把打好的包放到了本地maven倉庫;deploy是同時放到本地倉庫和遠程maven私服
這里本地倉庫默認是 /root/.m2/repository/ ,具體配置在 ${M2_HOME}/conf/settings 的 localRepository 配置項決定。遠程私服倉庫一般是nexus,具體地址在項目的pom.xml中配置。比如
一般是進入父級目錄之後執行
如果是多級目錄罩春物的話,有時候並不一定是按照 具體的項目來 編譯,比如
這個時候如果一個項目一個項目來編譯會超級多,很繁瑣,這里是按照 subparentproject 來編譯,命令如下
有個注意的地方:
subparentproject 目錄下的pom.xml文件中一定有類型如下的配置
1、需要安裝插件 Extended Choice Parameter Plug-In 可以支持參數單選、多選
2、項目選擇"自由風格",而不是maven編譯
3、在「構建」 -> "執行shell" 中編寫 子模塊編譯腳本及其後續處理
具體配置如下圖
「構建」 -> "執行shell" 中的處理腳本
附加:
Linux Bash下字元串操作總結
B. 求教java maven項目打包引入的問題,求大神解答
如果在另一個Maven項目中引入了一個打包好的jar包,並且在運行時發現缺少jar包中所依賴的第三方庫,有以下幾種解決方法。
使用maven-shade-plugin插件:在打包項目的pom.xml中配置maven-shade-plugin插件,讓它將所有的依賴庫打包進jar中。
在引入的jar包的pom.xml中增加第三方庫的依賴配置, 編寫dependency:unpack命令,將對應的第三方庫依賴解壓在項目中。
使用maven-dependency-plugin來解決問題,將依賴庫重新復制到本地倉庫中, 並在需要使用的項目中通過maven-dependency-plugin來引入這些依賴庫。
在打包好的jar中加入manifest文件,在manifest文件中配置Class-Path,將第三方庫路徑配置在Class-Path中,然後將這些第三方庫放在同一目錄下。
將jar包中的第三方庫放在項目的lib目錄下,然後在項目的編譯打包的時候加上lib路徑,這樣可以保證第三方庫能夠被項目讀取到.
選擇其中一種方法來實現可以根據具體的項目情況來確定,並且在解決問題的時候需要結合項目的特點進行選擇.
C. 如何提高maven的package和install的速度
在公司或自己的伺服器搭建個Nexus私服。
Maven build 等同於Maven命令:
1
mvn package
對Maven工程進行打包。
Maven Clean等同於Maven命令:
1
mvn clean
表示刪除maven工程的target目錄下的內容。
Maven Install等同於命令:
1
mvn install
表示將jar包發布到本地maven倉庫。
D. 如何使用maven在本地編譯打包
檢查是有已經安裝maven工具,cmd窗口中執行mvn命令。檢查已經安裝maven工具(如果不是mvn工程,需要將java工程轉換成mvn工程):
在mvn工程的pom.xml配置文件中指定jdk版本:
在mvn工程的pom.xml配置文件中 <mainClass>指定可執行jar包主類
用cmd進入 cd 到工程目錄下 ,執行如下mvn -DskipTests clean package
mvn編譯完成,提示如下信息:
在工程目錄下找到可執行的jar,如:E:\eclipse_workspace\dictionary_analysis\target\FindCrossWord-0.0.1.jar
通過cmd利用java命令執行此jar包:
E:\eclipse_workspace\dictionary_analysis\target>
java -jar FindCrossWord-0.0.1.jar
E. maven打包問題,如何打包配置文件
pom.xml文件配置:如果配置文件放在src/main/resources目錄下,maven默認會把這個文件夾下的文件復制到classes目錄下,如果不是放在默認目錄下,可以手動指定Resources目錄和輸出目錄。配置如下:
<build>
<finalName>WEBAPP</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
F. 如何打包運行maven項
用命令行完成打包操作,首先需要在開始-運行-cmd,打開cmd命令窗口,使用命令打包,命令為「mvn clean package」,此時會將當前工程執行打包操作,打包成功後會生成*.war形式的war包。
1.使用命令行完成打包操作,首先需要在開始-運行-cmd,打開cmd命令窗口。
G. maven項目什麼時候用到編譯,打包
你寫完代碼的時候,編譯可以測試是否有錯誤,打包可以jar可以war,前者可以像其它jar一樣被調用,後者用於發布項目