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