我已經閱讀了許多關於Maven入門的文檔和教程。但很少有東西仍然不清楚:Maven如何尋找依賴關係
1)當pom.xml包含<dependency>
時,Maven會將該工件/ JAr放入Maven本地存儲庫中。對 ?
2)假設,我在我的MAven項目中有子模塊。那麼建立這個項目的正確方法是什麼?應從父模塊開始,然後轉到其他子模塊。對 ?那麼Maven會創建依賴jar並將它們放在本地Maven Repo文件夾中?
3)例如,如果我的子模塊pom.xml包含以下依賴項。我應該如何將它(vd-ps.jar)提供給Maven,以便Maven在SubModule/pom.xml上執行Maven clean安裝時找到它?我的意思是說Maven需要什麼或從哪裏產生這樣的用戶定義的vd-ps.jar?從編譯的類文件?
<dependencies>
<dependency>
<groupId>com.b.t</groupId>
<artifactId>vd-ps</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
好吧,讓我直接問我想達到什麼:我有以下pom.xml。並從中我想創建一個單獨的Maven項目(Say PTest),它使用另一個大型多模塊maven項目的依賴項(jar)。這裏: - 我的多模塊項目中有一個名爲v-parent的模塊,它的trunk文件夾中有pom.xml。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.b.t</groupId>
<artifactId>v-parent</artifactId>
<version>3.9.0</version>
</parent>
<groupId>com.b.t.test</groupId>
<artifactId>p_test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ptesting</name>
<dependencies>
<dependency>
<groupId>com.b.t</groupId>
<artifactId>v-ps</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
</project>
1)現在我應該在哪裏在Eclipse把這個子模塊V-父母在我的新創建Maven項目(PTEST)?
我的意思是我該如何確切地讓我的PTest/pom.xml找到這個父罐子v-parent.jar?
我有單獨的名爲v-ps.jar的jar文件。我應該在哪裏準確地(在哪個結構中)將它放在Maven本地回購中,以便它能夠找到它?
如果說我無法解決工件:com.btvd-ps:1.1.0等,我檢查它存在〜/ .m2/repository/b/t/vd-ps/1.1.0 /vd-ps-1-1-0.jar.lastupdated任何想法爲什麼不能找到它? – Ragini
'.jar.lastupdated'不是JAR,只是一個標記文件。 – Tome
我建議你刪除目錄〜/ .m2/repository/com/b/t/vd-ps/1.1.0並重新運行該項目的mvn build,然後檢查你有沒有製造商文件的jar文件正如@Tome所說。 –