阅读maven存储库的内容

时间:2013-06-25 18:18:10

标签: java maven

我正在尝试读取maven存储库的给定目录中工件的名称。

Repository

我想知道如何阅读名称示例...... abbot,aceqisecurity,activiation等。

我不确定使用哪个库或如何读取名称?任何帮助,将不胜感激!

编辑:

我实际上已经注意到我说错了这个问题!当我问如何读取名称时,我的意思是如何通过将库/工件名称放在列表/数组中来读取名称。所以我不确定用什么库来实际读取存储库。希望我澄清一下。

2 个答案:

答案 0 :(得分:1)

Maven存储库通常包含Java库(Maven称为工件)。 工件按groupId,artifactId和版本排序。

groupId与包名类似,通常以 com org net (如主机名)开头。 groupId由点分隔。每个部分都将通过文件夹进行映射。

artifactId是图书馆的名称。为它创建一个文件夹。

version是库的版本号。同样,每个版本的库都有自己的文件夹。

让我们举一个例子来自Apache Commons的库commons-email 1.3.1。 groupId为org.apache.commons,artifactId为commons-email,版本为1.3.1

因此对于这个库,在Maven存储库中你会发现:

org
 |- apache
     |- commons
         |- commons-email
             |- 1.3.1
                 |- commons-email-1.3.1.jar
                 |- commons-email-1.3.1.jar.asc
                 |- commons-email-1.3.1.pom
                 |- commons-email-1.3.1.pom.asc

基于此,您可以看到 abbot acegisecurity 激活是{{的开始(或整个部分) 1}}一个或多个库。

您可以在此处浏览Maven中央存储库: http://search.maven.org/#browse

答案 1 :(得分:0)

在Maven中,您可以通过三个标识符识别任何库:groupIdartifactIdversion。根据这些名称,您可以在此位置找到该库:/mavenRepo/groupId/artifactId/version/groupId-version.jar。提到名字有'。'在groupId中,它们被认为是在不同的目录中。

我们举一个例子:

<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.2.2.RELEASE</version>

此依赖关系将保存在以下路径中:maven-local-repo/org/springframework/spring-orm/3.2.2.RELEASE/spring-orm-3.2.2.RELEASE.jar