導航:首頁 > 源碼編譯 > mvn解決並發編譯沖突問題

mvn解決並發編譯沖突問題

發布時間:2022-05-23 20:42:32

① 在編譯maven項目執行mvn compile 和 mvn install 時報錯 求解決 圖片打碼那個是項目名

maven倉庫連不上。多試幾次。或者換個maven倉庫,或者自己建私服。

② maven 怎麼解決jar包沖突

maven3在解決依賴沖突採用就近原則,在就近原則不能做出判斷的情況下依據pom.xml的聲明的先後順序決定導入的jar。
jar包沖突多為傳遞性依賴的管理不當給項目帶來的麻煩解決思路羅列如下:
1、首先查看當前項目的jar關系如果使用eclipse、idea等編輯器可打開pom.xml文檔底部有Dependency Hierarchy可供查看jar的依賴情況。第二種使用maven插件的方式使用命令行:

mvn dependency:tree

結果中重要的是兩個部分,首先是Used undeclared dependencies意值項目中使用到的,但是沒有顯示聲明的依賴。這種依賴意味著潛在的風險。他是通過其他直接依賴導入的傳遞性依賴,當直接依賴升級時相關依賴的版本也會變化。可能導致當前項目報錯,且不易察覺。另一個部分是Unused declared dependencies意指項目中未使用的,但顯式聲明的依賴。需要注意的是我們不應該直接刪除了事而是應該仔細分析。因為這個命令行發現不了執行測試和運行時需要的依賴。
以上方法都可可完整的查看當前項目的jar情況,個人更喜歡使用命令行。
2、通過以上方法我們可以看到項目中引用jar版本號;接下來就是如何排除掉我們不想要版本的jar;語法如下:

<dependency> <groupId>.....</grooupId> <artifactId>....</artifactId> <version>...</version> <exclusions> <exclusion> <groupId>.....</groupId> <artifactId>.....</artifactId> </exclusion> </exclesions><dependency><!--exclusions可包含一個或多個exclusion元素-->

3、一下規避jar沖突的思路,如果項目中有直接用到某個jar而這個jar已通過傳遞依賴的方式引入到maven項目里了。最好排除這個傳遞依賴在pom裡面明確的聲明這個依賴。歸類依賴,不斷的優化依賴如,去除多餘的依賴。

③ maven編譯錯誤 d lifecycle pha se or a goal

一、問題描述
Windows下,需要將jar包手動導入Maven本地倉庫,使用Power Shell運行命令:
mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" -DgroupId=com.ggstar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar

報錯:
[ERROR] Unknown lifecycle phase ".ggstar". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1][ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR][ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/

二、問題原因
Power Shell的命令和cmd的命令有不一樣,這個命令在cmd是可以實行的。
三、解決方法
1.在cmd命令行中執行
在含pom.xml文件的根路徑下打開cmd命令行,然後輸入命令
mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" -DgroupId=com.ggstar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar

然後打包成功:
[INFO] Building ipdatabase 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ ipdatabase ---[INFO] Installing E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar to E:\Tools\apache-maven-3.3.9\Repository\com\ggstar\ipdatabase\1.0\ipdatabase-1.0.jar[INFO] Installing C:\Users\ADMINI~1\AppData\Local\Temp\mvninstall4727202787532518137.pom to E:\Tools\apache-maven-3.3.9\Repository\com\ggstar\ipdatabase\1.0\ipdatabase-1.0.pom[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 1.703 s[INFO] Finished at: 2018-10-05T20:40:36+08:00[INFO] Final Memory: 8M/123M[INFO] ------------------------------------------------------------------------

2.在Power Shell下
參數需要添加單引號'',如下命令即可
mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" '-DgroupId=com.ggstar' '-DartifactId=ipdatabase' '-Dversion=1.0' '-Dpackaging=jar'

還有不懂的可以關注私聊我,本人10年java開發經驗,相信可以幫助你成為一個優秀的java程序員

④ Maven怎麼處理引用的jar版本沖突

1.確定出了問題的jar包名稱。通常可以在eclipse中查找沖突的類有在哪些依賴包裡面出現了。並確定實際要使用的是那個包,沖突的包有哪些。
2.通過mvn dependency:tree > tree.txt 導出全部的依賴。
3.在導出的依賴文件中,查找問題相關的jar。確定這些jar是如何被依賴進來的,是直接依賴的還是通過傳遞依賴引入的。
4. 找到相互沖突的並需要排除的依賴的頂級依賴,並分析沖突的原因,沖突的原因可能是以下幾種:
同一個jar包但groupId, artifactId不同,這種沖突只能通過設定依賴的<exclusions> 來進行排除
需要的版本jar包依賴路徑較長,這種沖突可以把想要版本的依賴直接什麼在依賴中,這樣路徑就最短了優先順序最高。
5.最後可以通過打包mvn install 來確認打出來的war包中是否有被排除的依賴。

⑤ maven並發編譯可不可以指定順序

在多模塊的工程中,如果模塊之間存在依賴關系,那模塊的編譯必須要有順序的要求。例如:P(parent)中包含A模塊和B模塊,且A模塊依賴於B模塊,那麼在P中的pom,xml中需申明為:
<moles>
<mole>B</mole>
<mole>A</mole>
</moles>
B需要聲明在A的前面,這樣先編譯後的內容才能被A依賴。

同時,什麼version的時候,只需要在P中申明即可,如${p.version}其他的採用繼承的方式,即在A和B模塊中不申明自己的版本, A中依賴的B同樣使用${P.version}完成。

⑥ maven怎麼解決jar包沖突

maven管理jar包依賴的時候,假如你的依賴包A需要間接依賴B的1.0版本,而你的工程里又需要用到B的2.0版本,這個時候就可能會出現運行時jar沖突的異常,會報java.lang.NoSuchMethodError或者 java.lang.ClassNotFoundException 、java.lang.NoClassDefFoundError

第一步:查詢沖突jar包的依賴樹

mvn dependency:tree -Dverbose -Dincludes=org.springframework:spring

第二步:在pom里找到相應的jar去掉他的依賴傳遞

⑦ 怎樣解決maven里編譯時包的依賴有關問題

一、導出到默認目錄 targed/dependency
從Maven項目中導出項目依賴的jar包:進入工程pom.xml 所在的目錄下,執行如下命令:

mvn dependency:-dependencies
或在eclipse中,選擇項目的pom.xml文件,點擊右鍵菜單中的Run As,見下圖紅框中,在彈出的Configuration窗口中,輸入 dependency:-dependencies後,點擊運行
maven項目所依賴的jar包會導出到targed/dependency目錄中。
二、導出到自定義目錄中
在maven項目下創建lib文件夾,輸入以下命令:

mvn dependency:-dependencies -DoutputDirectory=lib
maven項目所依賴的jar包都會復制到項目目錄下的lib目錄下
三、設置依賴級別
同時可以設置依賴級別,通常使用compile級別

mvn dependency:-dependencies -DoutputDirectory=lib -DincludeScope=compile

⑧ java中的maven是干什麼的

Maven是基於項目對象模型,可以通過一小段描述信息來管理項目的構建,報告和文檔的軟體項目管理工具。

Maven能夠很方便的幫你管理項目報告,生成站點,管理JAR文件,等等。例如:項目開發中第三方jar引用的問題,開發過程中合作成員引用的jar版本可能不同,還有可能重復引用相同jar的不同版本,使用maven關聯jar就可以配置引用jar的版本,避免沖突。

你給出的圖片中binary是二進制文件,source是源碼,開發中我們需要下載的是binary文件,後綴標識壓縮演算法. 一般來說,windows系統用zip較多,linux系統用tar.gz較多。source是maven項目的源碼,探究原理時可以下載源碼進行研究。

(8)mvn解決並發編譯沖突問題擴展閱讀

Maven常用命令:

1.mvn archetype:generate 創建Maven項目

2.mvn compile 編譯源代碼

3.mvn deploy 發布項目

4.mvn test-compile 編譯測試源代碼

5.mvn test 運行應用程序中的單元測試

6.mvn site 生成項目相關信息的網站

7.mvn clean 清除項目目錄中的生成結果

8.mvn package 根據項目生成的jar

9.mvn install 在本地Repository中安裝jar

10.mvn eclipse:eclipse 生成eclipse項目文件

⑨ 使用maven編譯JAVA程序是出錯

問題描述:
在eclipse中build一個普通maven項目,報錯,提示信息是缺少maven插件(插件名稱忘了)。

原因:
可能是由於使用了eclipse自帶的jre導致的,這個jre里沒有tools.jar,而jdk的lib目錄下有(個人理解)。

解決辦法:
1、檢查eclipse的配置,確保使用的不是eclipse自帶的版本。
步驟:在eclipse中打開Window->Preferences->Java->Installed JREs->Add,添加自己下載並配置好的jdk(別忘了配置環境變數),我用的是jdk1.6.0_4.3。


2、然後再次編譯maven項目,仍然報錯,但提示信息改變了,提示的是C:\Users\Administrator.EED4VRFALFPIIBP\.m2\repository\commons-logging\commons-logging下的jar包解析失敗;
3、解決方案:刪除repository文件夾,確保網路暢通,重啟eclipse,執行Maven->Project
Update,問題解決。

注意:如果你的eclipse中配置了tomcat,那麼你也需要重新選擇tomcat的jdk版本,確保與前面的一致。

步驟:在eclipse中打開Window->Preferences->Server->Runtime
Environment->選中你的tomcat server->Edit,在JRE這項里選擇你的jdk,完成。

⑩ 如何快速的解決Maven依賴沖突

1.確定出了問題的jar包名稱。通常可以在eclipse中查找沖突的類有在哪些依賴包裡面出現了。並確定實際要使用的是那個包,沖突的包有哪些。
2.通過mvn dependency:tree > tree.txt 導出全部的依賴。
3.在導出的依賴文件中,查找問題相關的jar。確定這些jar是如何被依賴進來的,是直接依賴的還是通過傳遞依賴引入的。
4. 找到相互沖突的並需要排除的依賴的頂級依賴,並分析沖突的原因,沖突的原因可能是以下幾種:
同一個jar包但groupId, artifactId不同,這種沖突只能通過設定依賴的<exclusions> 來進行排除
需要的版本jar包依賴路徑較長,這種沖突可以把想要版本的依賴直接什麼在依賴中,這樣路徑就最短了優先順序最高。
5.最後可以通過打包mvn install 來確認打出來的war包中是否有被排除的依賴。

閱讀全文

與mvn解決並發編譯沖突問題相關的資料

熱點內容
程序員面試金典第6版 瀏覽:718
內存2g編譯安卓 瀏覽:414
單片機小數點怎麼亮 瀏覽:414
安卓手機怎麼設置健康碼雙擊兩下就出來 瀏覽:266
同一個文件夾可以存在兩個相同的文件嗎 瀏覽:535
動態重編譯jit 瀏覽:132
android藍牙音頻 瀏覽:451
mc國際版怎麼加伺服器 瀏覽:816
phphtaccess配置 瀏覽:747
dos命令鎖定 瀏覽:486
python中調換數據位置 瀏覽:300
武漢市中石油加油什麼APP優惠 瀏覽:545
程序員33歲以後的規劃 瀏覽:858
招標文件加密流轉 瀏覽:897
源碼數據盈利可信嗎 瀏覽:860
android閃爍圖標 瀏覽:942
程序員呼蘭搞笑 瀏覽:352
蘋果怎麼關閉自動排序app 瀏覽:963
國外可以訪問到用什麼伺服器地址 瀏覽:949
揚州前端程序員私活價格 瀏覽:990