我已经阅读了许多关于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所说。 –