我的pom.xml
使用以下代码来定义公司的内部Maven存储库,以便在我的本地存储库中找不到依赖项时,将从此存储库中下载这些依赖项。
<repositories>
<repository>
<id>XXXXXX</id>
<name>Internal Repository</name>
<url>http://private.ip/nexus-webapp/content/groups/public/</url>
</repository>
</repositories>
当我在pom.xml
中添加一些依赖项时,我发现我添加的依赖项也将添加到该内部存储库中。除了删除<repositories>
中的pom.xml
部分外,我是否可以配置其属性,以便pom.xml
中添加的依赖项不会添加到此内部存储库中?
答案 0 :(得分:1)
听起来你正在谈论的是Nexus的代理机制。您从Nexus请求工件,它查看工件的已配置外部存储库,在本地缓存它们并将它们返回给您。当然,这假设有问题的存储库配置为通过Nexus代理。如果有人以这种方式进行设置,那你为什么要绕开呢?您可以通过这种方式使用Nexus,因此工件更接近您,您的构建工作更快。你没有发生这种情况的唯一方法是更改Nexus中的设置,或者停止使用它。您不必完全从pom中删除repo。只需将其他回购放在前面,Maven将首先查看它们。但是,为什么你不想使用Nexus,因为它被设计为工件的近缓存?
答案 1 :(得分:1)
您需要在存储库软件(Artifactory,Nexus,...)中配置它。
我认为您已在此处设置了代理存储库,可下载所请求的所有工件。您可能希望尝试运行“托管存储库”。更多信息here。
Artifactory中的等效概念是“本地存储库”(阅读here)。
答案 2 :(得分:0)
使用以下命令手动下载并安装所需的依赖项。它会将包添加到本地存储库,以便您可以使用它。阅读here
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>