使用maven命令來分析jar包之間的依賴關系


一直有個疑問就是,我在pom文件里面引用了那些配置信息,它是如何找到各自的依賴的,后來發現原來一些jar包的配置信息已經自己在開發的時候就寫入了pom信息了,各自的依賴都在maven官方倉庫里掛着,這個我們自己不用操心,那既然這樣,我們又該從哪里查到這些依賴信息呢,這就需要用maven的命令了,如果你是在myeclipse或者eclipse中集成的maven開發環境,那么看到如下截圖,你就明白了.

maven

maven

下面是一些別的命令,如果想在myeclipse中運行,請去掉mvn三個單詞~~

1、創建一個新的Maven項目:

mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch3 -DartifactId=simple -DpackageName=org.sonatype.mavenbook

2、構建打包應用:

mvn install[在pom.xml同級目錄下執行]

3、查看項目完整的pom.xml文件,包括系統默認設置以及用戶自定義設置:

mvn help:effective-pom

4、生成報告或者文檔:

mvn site

5、mvn exec:java執行目標類

mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main

6、查看插件的完整描述:

mvn help:describe -Dplugin=exec -Dfull

7、找出該項目所依賴的項目(jar)列表:

mvn dependency:resolve mvn dependency:analyze(找出項目非直接依賴)

結果如下:

[INFO] The following files have been resolved: [INFO] com.ibm.icu:icu4j:jar:2.6.1:compile [INFO] commons-collections:commons-collections:jar:3.1:compile [INFO] commons-lang:commons-lang:jar:2.1:compile [INFO] dom4j:dom4j:jar:1.6.1:compile [INFO] jaxen:jaxen:jar:1.1.1:compile [INFO] jdom:jdom:jar:1.0:compile [INFO] junit:junit:jar:3.8.1:test [INFO] log4j:log4j:jar:1.2.14:compile [INFO] oro:oro:jar:2.0.8:compile [INFO] velocity:velocity:jar:1.5:compile [INFO] xalan:xalan:jar:2.6.0:compile [INFO] xerces:xercesImpl:jar:2.6.2:compile [INFO] xerces:xmlParserAPIs:jar:2.6.2:compile [INFO] xml-apis:xml-apis:jar:1.0.b2:compile [INFO] xom:xom:jar:1.0:compile

8、查看整個項目的依賴樹:

mvn dependency:tree

結果如下:

[INFO] org.sonatype.mavenbook.ch04:simple-weather:jar:1.0 [INFO] +- log4j:log4j:jar:1.2.14:compile [INFO] +- dom4j:dom4j:jar:1.6.1:compile [INFO] | \- xml-apis:xml-apis:jar:1.0.b2:compile [INFO] +- jaxen:jaxen:jar:1.1.1:compile [INFO] | +- jdom:jdom:jar:1.0:compile [INFO] | +- xerces:xercesImpl:jar:2.6.2:compile [INFO] | \- xom:xom:jar:1.0:compile [INFO] | +- xerces:xmlParserAPIs:jar:2.6.2:compile [INFO] | +- xalan:xalan:jar:2.6.0:compile [INFO] | \- com.ibm.icu:icu4j:jar:2.6.1:compile [INFO] +- velocity:velocity:jar:1.5:compile [INFO] | +- commons-collections:commons-collections:jar:3.1:compile [INFO] | +- commons-lang:commons-lang:jar:2.1:compile [INFO] | \- oro:oro:jar:2.0.8:compile [INFO] \- junit:junit:jar:3.8.1:test

9、查看完整的依賴,包括那些因為沖突而被拒絕引入的依賴:

mvn install -X

10、打包應用(jar):

mvn install assembly:assembly

11、在 Jetty Servlet 容器中啟動你的 web 應用:

mvn jetty:run

12、重新編譯:

mvn compile
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM