我有2个项目。一个使用本地依赖项。
这是settings.xml
的内容。
<localRepository>C:/sales/dependency/repository</localRepository>
<interactiveMode>false</interactiveMode>
<usePluginRegistry>true</usePluginRegistry>
<offline>true</offline>
第二个使用远程(我自己的Nexus存储库)服务器。
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://172.19.128.12:8090/repository/salesgroup</url>
</mirror>
</mirrors>
我将合并这两个项目。我无法将本地依赖项上传到Nexus。因此,我必须在项目中同时使用两者。在这种情况下,settings.xml
文件应该是什么样子。
答案 0 :(得分:0)
相反,如果将您的nexus存储库添加为镜像,则将您的nexus和本地存储库都添加为~/.m2/settings.xml
中的配置文件中的存储库,如下所示。
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
...
<profiles>
<profile>
<id>maven-repositories</id>
<repositories>
<repository>
<id>local</id>
<name>Local</name>
<url>file:///C:/sales/dependency/repository</url>
</repository>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://172.19.128.12:8090/repository/salesgroup</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>maven-repositories</activeProfile>
</activeProfiles>
</settings>
答案 1 :(得分:0)
这是我的建议:
在~/.m2/settings.xml
<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">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository -->
<localRepository>C:/sales/dependency/repository</localRepository>
...
</settings>
这会将C:/sales/dependency/repository
目录作为所有maven项目在用户级别的本地存储库。
现在,当您说合并两个项目时,有两种可能性如下:
在两种情况下,您都可以仅在组合项目的单个pom /父pom文件下定义<repositories>
。因此,这些项目将使用您的内部存储库来解决local
存储库中没有的依赖项。
<project>
...
<repositories>
<repository>
<id>my-internal-site</id>
<url>http://myserver/repo</url>
</repository>
</repositories>
...
</project>
有关更多详细信息,您可以阅读更多here!