我在我的办公室使用本地机器进行开发工作(目前我正在为软件公司工作)。他们有不同的maven设置。它指向他们自己的maven存储库。 但是,对于我在家工作,我想访问默认的maven设置。
那么,我怎样才能做到这一点?是否可以通过为办公室和我自己的作品维护两个单独的maven配置文件来实现这一目标?
公司特定配置已定义了一些服务器和存储库。当我在家工作而不维护单独的settings.xml文件时,如何配置settings.xml文件以连接默认maven存储库?
答案 0 :(得分:1)
是的,您可以为两者使用一个~/.m2/settings.xml
文件。以下是我正在使用的示例。服务器位于配置文件之外,因为它们仅在ID引用时使用。
在我的IDE中,我为公司项目启用了comp
个人资料,为atlassian SDK项目启用了atlassian
个人资料,而对于其他项目则没有。在IntelliJ IDEA you can do this via sidebar中,在Eclipse中,您必须执行此操作via Project Properties。从命令行,您必须通过-P
手动激活它们。但是,您可以尝试使用基于属性的自动配置文件激活。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>comp-releases</id>
<username>me</username>
<password>secret</password>
</server>
<server>
<id>comp-snapshots</id>
<username>me</username>
<password>secret</password>
</server>
</servers>
<profiles>
<profile>
<id>comp</id>
<repositories>
<repository>
<id>comp-nexus</id>
<name>Nexus Public</name>
<url>https://www.example.com/nexus/content/groups/public/</url>
</repository>
</repositories>
</profile>
<profile>
<id>atlassian</id>
<repositories>
<repository>
<id>atlassian-public</id>
<url>https://maven.atlassian.com/repository/public</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>atlassian-public</id>
<url>https://maven.atlassian.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<updatePolicy>never</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>