- <project>
- ...
- <repositories>
- <repository>
- <id>公司仓库id>
- <name>公司私有Maven仓库name>
- <url>私有仓库的URL地址url>
- repository>
- repositories>
- ...
- project>
注意:如果您使用的是私有仓库的认证凭据,如用户名和密码,您可能还需要在Maven的设置文件(settings.xml)中配置认证信息。您可以在settings.xml文件中的元素下添加相应的配置。示例如下:
- <settings>
- ...
- <servers>
- <server>
- <id>公司仓库id>
- <username>您的用户名username>
- <password>您的密码password>
- server>
- servers>
- ...
- settings>
方法一:如果您想在Maven的settings.xml文件中修改私有仓库地址,而不是在pom.xml文件中修改,您可以在settings.xml文件中的元素下创建一个配置文件。在该配置文件中,您可以定义私有仓库的信息。以下是一个示例:
- <settings>
- ...
- <profiles>
- <profile>
- <id>公司仓库配置id>
- <repositories>
- <repository>
- <id>公司仓库id>
- <name>公司私有Maven仓库name>
- <url>私有仓库的URL地址url>
- repository>
- repositories>
- profile>
- profiles>
- ...
- settings>
确保将上述示例中的私有仓库的URL地址替换为您公司私有Maven仓库的实际URL地址,并将元素的值设置为一个适合您公司的标识符。
接下来,在元素下激活该配置文件。在settings.xml文件中添加以下代码:
- <settings>
- ...
- <activeProfiles>
- <activeProfile>公司仓库配置activeProfile>
- activeProfiles>
- ...
- settings>
这里的元素的值应该与您在配置文件中定义的元素的值保持一致。
保存settings.xml文件后,Maven将使用在settings.xml文件中定义的私有仓库配置。这样,您就不需要在每个项目的pom.xml文件中单独配置私有仓库地址。配置文件可以在整个Maven环境中共享和重用。
如果您还想在Maven的settings.xml文件中配置阿里云的中央仓库,您可以在元素下添加一个新的配置文件,类似于之前添加的私有仓库配置。以下是一个示例:
- <profiles>
-
- ...
-
- <profile>
- <id>阿里云仓库配置id>
- <repositories>
- <repository>
- <id>阿里云中央仓库id>
- <name>阿里云Maven中央仓库name>
- <url>http://maven.aliyun.com/nexus/content/groups/public/url>
- repository>
- repositories>
- profile>
- profiles>
然后,在元素下激活这个新的配置文件,类似于之前的操作:
- <activeProfiles>
-
- ...
-
- <activeProfile>阿里云仓库配置activeProfile>
- activeProfiles>
保存settings.xml文件后,Maven将使用您提供的阿里云中央仓库配置。这样,您就可以同时使用私有仓库和阿里云的中央仓库
阿里云的中央仓库与您公司的私有仓库不会冲突。在Maven的配置中,您可以同时配置多个仓库,Maven会按照一定的顺序从这些仓库中查找依赖。通常,私有仓库会配置在公有仓库之前,以便优先使用私有仓库中的构件。如果私有仓库中没有找到依赖,Maven会去公有仓库(如阿里云中央仓库)中查找。
要在中配置私有仓库,您可以按照以下步骤进行操作:
打开Maven的settings.xml文件。这个文件通常位于Maven安装目录的conf文件夹下。
在标签内,找到元素。如果没有该元素,您可以在标签内创建一个新的元素。
在元素下,创建一个新的元素,用于定义私有仓库的配置。例如:
- <mirrors>
- <mirror>
- <id>my-private-repo-mirrorid>
- <name>Mirror for My Private Repositoryname>
- <url>http://private-repo.example.com/maven-repourl>
- mirror>
- mirrors>
* `
`:私有仓库镜像的唯一标识符。 * `
`:私有仓库镜像的名称。 * `
`:私有仓库的URL地址。将URL替换为您实际私有仓库的地址。 * `
`:指定该镜像要替代的仓库。例如,设置为`central`表示该镜像将替代Maven中央仓库。
如果想再添加阿里云的镜像,可以同理添加上阿里云镜像的相关标签
1.仓库的优先级比较
本地仓库 > pom文件配置的仓库 > setting文件配置的仓库
2.setting中
和 切记混为一谈, 一般用作镜像替代使用, 一般用作镜像添加。但是两者都有配置私有仓库的能力。 内配置的镜像优先级大于 中配置的镜像,但是从本职工作来讲,想要在原来的maven基础上添加镜像而不是代替镜像,在 更符合操作逻辑