Maven 2 您在通用pom文件中放置了哪些存储库?

Maven 2 您在通用pom文件中放置了哪些存储库?,maven-2,repository,pom.xml,Maven 2,Repository,Pom.xml,我正在为我的项目构建一个通用的父pom文件 在该文件中,我希望有一个最常见的Maven存储库列表,以便在子项目(Jboss、Spring等)中提供大多数依赖项 以下是当前的pom: <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

我正在为我的项目构建一个通用的父pom文件

在该文件中,我希望有一个最常见的Maven存储库列表,以便在子项目(Jboss、Spring等)中提供大多数依赖项

以下是当前的pom:

<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>
    <groupId>org.courtine</groupId>
    <artifactId>parent</artifactId>
    <packaging>pom</packaging>
    <name>Parent</name>
    <version>1.0</version>
    <description>Common repositories</description>
    <repositories>
        <repository>
            <id>javanet</id>
            <name>Repository for Maven2</name>
            <url>http://download.java.net/maven/2</url>
        </repository>
        <repository>
            <id>google</id>
            <name>Google repository for Maven2</name>
            <url>https://oss.sonatype.org/content/repositories/google-releases/</url>
        </repository>
        <repository>
            <id>jboss</id>
            <name>JBoss repository for Maven2</name>
            <url>http://repository.jboss.org/maven2/</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.release</id>
            <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
            <url>http://repository.springsource.com/maven/bundles/release</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.external</id>
            <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
            <url>http://repository.springsource.com/maven/bundles/external</url>
        </repository>
        <repository>
            <id>com.springsource.repository.libraries.release</id>
            <name>SpringSource Enterprise Bundle Repository - SpringSource Library Releases</name>
            <url>http://repository.springsource.com/maven/libraries/release</url>
        </repository>
        <repository>
            <id>com.springsource.repository.libraries.external</id>
            <name>SpringSource Enterprise Bundle Repository - External Library Releases</name>
            <url>http://repository.springsource.com/maven/libraries/external</url>
        </repository>
    </repositories>
</project>

4.0.0
org.courtine
父母亲
聚甲醛
父母亲
1
公共存储库
爪哇网
Maven2的存储库
http://download.java.net/maven/2
谷歌
Maven2的谷歌存储库
https://oss.sonatype.org/content/repositories/google-releases/
jboss
用于Maven2的JBoss存储库
http://repository.jboss.org/maven2/
com.springsource.repository.bundles.release
SpringSource企业捆绑包存储库-SpringSource捆绑包版本
http://repository.springsource.com/maven/bundles/release
com.springsource.repository.bundles.external
SpringSource企业捆绑包存储库-外部捆绑包版本
http://repository.springsource.com/maven/bundles/external
com.springsource.repository.libraries.release
SpringSource企业包存储库-SpringSource库版本
http://repository.springsource.com/maven/libraries/release
com.springsource.repository.libraries.external
SpringSource企业包存储库-外部库版本
http://repository.springsource.com/maven/libraries/external
  • 这样一个列出公共存储库的通用文件是一个好主意吗
  • 您知道其他常见的公共Maven存储库可以放在这样一个通用pom文件中吗

  • 将存储库放入pom中不是一个好主意。最好使用存储库管理器,如,或。 在这样的pom中,您应该放置默认插件及其相应的修订(pluginManagement)或应该使用的依赖项(dependencyManagement)


    请看一看下面的解释。看看如何设置它。

    我有另一个选项来做你想做的事情。您可以在
    settings.xml
    中使用一个概要文件,它可以为您引用所有存储库(就像nexus/archiva一样)。 我在我的网站上贴了一些关于他的东西

    只需将其添加到
    设置.xml中即可:

    <profile>
        <id>my-repository</id>
        <activation>
        <!-- here we did not activat this profile by default -->
                <activeByDefault>false</activeByDefault>
        </activation>
        <repositories>
        <!-- list of standard repository -->
        <repository>
            <id>javanet</id>
            <name>Repository for Maven2</name>
            <url>http://download.java.net/maven/2</url>
        </repository>
        <repository>
            <id>google</id>
            <name>Google repository for Maven2</name>
            <url>https://oss.sonatype.org/content/repositories/google-releases/</url>
        </repository>
        <repository>
            <id>jboss</id>
            <name>JBoss repository for Maven2</name>
            <url>http://repository.jboss.org/maven2/</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.release</id>
            <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
            <url>http://repository.springsource.com/maven/bundles/release</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.external</id>
            <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
            <url>http://repository.springsource.com/maven/bundles/external</url>
        </repository>
        <repository>
            <id>com.springsource.repository.libraries.release</id>
            <name>SpringSource Enterprise Bundle Repository - SpringSource Library Releases</name>
            <url>http://repository.springsource.com/maven/libraries/release</url>
        </repository>
        <repository>
            <id>com.springsource.repository.libraries.external</id>
            <name>SpringSource Enterprise Bundle Repository - External Library Releases</name>
            <url>http://repository.springsource.com/maven/libraries/external</url>
        </repository>
         <repository>
            <id>intelligents-ia</id>
            <name>Intelligents-ia Repository</name>
            <url>http://intelligents-ia.com/maven2</url>
         </repository>
        </repositories>
        </profile>
    
    默认情况下,或通过在以下项上设置true来激活此配置文件:

    <activation>
           <activeByDefault>true</activeByDefault>
    </activation>
    
    
    真的
    
    我还使用一个私有的Nexus存储库。以前,我将这些存储库放在settings.xml中,但是没有这个文件,项目是不可移植的。将存储库放在父pom中可以使我的项目具有可移植性。注意:我也在父文件中加入了通用依赖项和插件,但这不是当前的问题。您关于“将存储库放入父pom使我的项目可移植”的解释并不完全正确,因为如果我得到了您的项目,它将无法在我所在的环境中工作,因为它将失败,导致只能通过代理访问外部…因此我必须更改使用父pom的所有pom。因此,通过settings.xml(mirror)+回购管理器的配置将简化生活。。。
    <activation>
           <activeByDefault>true</activeByDefault>
    </activation>