Java mvn包忽略pom.xml中的存储库

Java mvn包忽略pom.xml中的存储库,java,maven,repository,nexus,Java,Maven,Repository,Nexus,我们无法使用mvn包从远程存储库获取项目。在maven installed文件夹config/settings.xml中,我们声明我们的内部中央回购: <mirrors> <mirror> <id>advnexus</id> <mirrorOf>*</mirrorOf> <url>http://internalserver/nexus/content/groups/public<

我们无法使用mvn包从远程存储库获取项目。在maven installed文件夹config/settings.xml中,我们声明我们的内部中央回购:

<mirrors>
  <mirror>
    <id>advnexus</id>
    <mirrorOf>*</mirrorOf>
    <url>http://internalserver/nexus/content/groups/public</url>
  </mirror>
</mirrors>

advnexus
*
http://internalserver/nexus/content/groups/public
这适用于此repo中托管的所有jar文件。但是我们有一些额外的jar文件,我们将它们推送到我们控制的服务器上,并运行Sonatype Nexus。因此,在项目的pom.xml中,我们将远程回购设置为:

<repositories>
  <repository>
    <id>companynamenexus</id>
    <name>Company Name Project Repo</name>
    <url>http://nexus.companyname.com:8081/repository/project-name</url>
    <layout>default</layout>
    <spanshots>
      <enabled>false</enabled>
    </spanshots>
  </repository>
</repositories>

公司名称
公司名称项目回购
http://nexus.companyname.com:8081/repository/project-名字
违约
假的
当我运行构建时,它会从主repo中提取任何所需的jar文件,但尝试提取此repo中不存在的jar文件与使用pom.xml中的存储库相比只是超时

请注意,在settings.xml mirror部分,我尝试将
更改为central vs.*,但这只会导致其他错误


我还尝试将此repo设置为settings.xml中的次镜像,尝试在settings.xml中注释镜像,并将其作为pom.xml中的附加存储库,但都没有找到正确的组合。这似乎是一个简单的问题,但我们无法找到答案。

最佳解决方案:不要尝试访问两个不同的内部Nexus,而是在其中一个Nexus中设置一个存储库组,该存储库组包含所有其他存储库(可以是托管的或代理的,内部的或外部的)。然后,您只需在该存储库组上设置一个镜像条目,就可以了


第二个最佳解决方案:将镜像条目更改为
*,!CompanyNameExus
并在
设置的
部分定义附加存储库。xml

是可在
http://nexus.companyname.com:8081/repository/project-姓名
?如果超时,可能是nexus已关闭,或者
存储库/项目名称
不是有效路径?不幸的是,这两个回购协议都是内部的,无法从外部访问。此外,在构建过程中,当它试图从镜像中拉出不存在的jar时,超时也会发生。它似乎从未尝试过在pom.xml中使用repo。其他一些信息。尽管您无法通过放入repo URL字段中的相同URL访问文件,但Sonatype Nexus确实提供了格式为“”的REST端点,并且可以通过浏览器访问。请注意,只是为了好玩,我尝试使用这个作为URL,但结果相同。如果您已经有一个存储库管理器,我不理解在pom文件中添加补充存储库的必要性。工件由groupId/artifactId/version标识,这意味着不需要补充存储库条目……如果所需的Repo实际上是一个补充Repo(这是Nexus设置中的一个设计问题),Repo经理应在其配置中提供…Sonatype Nexus repo的设置只是为了使内部公司jar文件可用于构建。还有一个公司提供的“中心”存储库,其中包含从真正的Maven Central中提取的jar文件。这就是说,我现在又开始尝试在settings.xml文件的mirrors部分设置这两个存储库。我相信我的问题在于选择的镜像。换句话说,我不确定是否应该在settings.xml的mirrors部分或pom.xml的repositories部分设置这个项目Nexus Repo!?这看起来像是有希望的,但现在我在运行“mvn包”时遇到了一个新错误。看来我们的Sonatype Nexus回购协议正试图联系(我们的网络上无法联系到,甚至没有代理)。它需要下载“org.apache.maven.plugins:maven jar plugin:2.4”。如果我有线索把这个罐子放在哪里,我可以手动把它移到我们的网络上,但看不到任何线索。我相信这是我选择maven2(组)和(代理)时造成的。我刚刚看到有一个(原始)类型,我将尝试下一个。最后的跟进。“raw”类型将不起作用,但我们将继续为sonatype手动下载该jar,并相信它会起作用。谢谢你的帮助!我真的听不懂你的话。Nexus正在尝试访问repo.maven.apache.org/maven2,如果这是Nexus中配置的存储库之一的话。您不能意外添加它,它与存储库类型无关。