Maven 2 Maven的主要职责/最佳职责是什么?

Maven 2 Maven的主要职责/最佳职责是什么?,maven-2,Maven 2,要使用哪些主要/最好的Maven存储库,这些存储库将包含大多数开源Java包依赖项 还应按什么顺序包括这些内容?这有关系吗?这是我们正在构建的项目中的当前设置: 中央的 ObjectWeb JBossMaven2 和一些快照(见下文) 中央的 Maven存储库 http://repo1.maven.org/maven2 真的 假的 objectweb Objectweb存储库 http://maven.objectweb.org/maven2 真的 假的 jboss JBossMaven2存

要使用哪些主要/最好的Maven存储库,这些存储库将包含大多数开源Java包依赖项


还应按什么顺序包括这些内容?这有关系吗?

这是我们正在构建的项目中的当前设置:

  • 中央的
  • ObjectWeb
  • JBossMaven2
  • 和一些快照(见下文)

    
    中央的
    Maven存储库
    http://repo1.maven.org/maven2
    真的
    假的
    objectweb
    Objectweb存储库
    http://maven.objectweb.org/maven2
    真的
    假的
    jboss
    JBossMaven2存储库
    http://repository.jboss.com/maven2/
    假的
    真的
    玻璃鱼
    玻璃鱼仓库
    http://download.java.net/maven/1
    遗产
    真的
    假的
    apache.snapshots
    Apache快照存储库
    http://people.apache.org/repo/m2-snapshot-repository
    假的
    真的
    ops4j.repository
    OPS4J存储库
    http://repository.ops4j.org/maven2
    真的
    假的
    科德豪斯快照
    http://snapshots.repository.codehaus.org/
    真的
    假的
    

我建议使用像Archiva、Artifactory或Nexus这样的Maven代理,并在服务器端定义您的回购列表。顺序仅在代理服务器逐个尝试代理的repo并指定边缘存储库作为第一个会降低未缓存工件的解析速度的情况下才起作用(Artifactory允许您为每个代理的repo指定白名单和黑名单表达式,从而解决此问题)


总的来说,使用自己的回购协议可以让您获得更多的控制和可靠的构建(“中心”的速度通常非常慢)。它还为您提供了放置自己的工件和任何非免费第三方工件的位置

好主意。我要补充的唯一警告是,如果您将项目作为开源发布,那么您应该在POM中明确列出外部存储库依赖项。问题是哪个“公共”存储库是最好的还是应该使用。这个答案是最新的吗?@djangofan否。只需使用JCenter。看到和
<repository>
    <id>MavenCentral</id>
    <name>Maven repository</name>
    <url>http://repo1.maven.org/maven2</url>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>
<repository>
    <id>objectweb</id>
    <name>Objectweb repository</name>
    <url>http://maven.objectweb.org/maven2</url>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>
<repository>
    <id>jboss</id>
    <name>JBoss Maven2 repository</name>
    <url>http://repository.jboss.com/maven2/</url>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
    <releases>
        <enabled>true</enabled>
    </releases>
</repository>
<repository>
    <id>glassfish</id>
    <name>Glassfish repository</name>
    <url>http://download.java.net/maven/1</url>
    <layout>legacy</layout>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>
<repository>
    <id>apache.snapshots</id>
    <name>Apache Snapshot Repository</name>
    <url>
        http://people.apache.org/repo/m2-snapshot-repository
    </url>
    <releases>
        <enabled>false</enabled>
    </releases>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>
<repository>
    <id>ops4j.repository</id>
    <name>OPS4J Repository</name>
    <url>http://repository.ops4j.org/maven2</url>
    <releases>
        <enabled>true</enabled>
    </releases>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>
<repository>
    <id>Codehaus Snapshots</id>
    <url>http://snapshots.repository.codehaus.org/</url>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
    <releases>
        <enabled>false</enabled>
    </releases>
</repository>