代理连接实例无法从远程下载工件

问题描述 投票:0回答:2

我使用 Nexus UI 配置了远程“快照”存储库的代理实例。我可以在 UI 中浏览远程存储库并查看工件。我尝试查询远程 Nexus 实例,它提供工件而没有任何问题。但是,当我尝试在代理实例上执行类似的查询时,它给我一个资源“未找到”错误。我尝试在 URL 末尾使用“?describe”指令来准确查看请求的处理方式。但这并没有提供太多信息。

即使远程实例确实有工件,代理实例也是空的,并且我显式查询代理实例以获取远程中存在的工件,因此从技术上讲,它应该已获取这些工件并提供服务,但它没有按照计划工作。我还尝试执行“过期缓存”并将设置“未找到缓存 TTL”更改为 0,但未能使其工作。

在我的代理上,我创建了一个新的“快照代理”存储库,用于代理远程“快照”存储库。 摘自 nexus.xml:

<repository>
  <id>snapshots-proxy</id>
  <name>Snapshots-proxy</name>
  <providerRole>org.sonatype.nexus.proxy.repository.Repository</providerRole>
  <providerHint>maven2</providerHint>
  <localStatus>IN_SERVICE</localStatus>
  <notFoundCacheActive>true</notFoundCacheActive>
  <userManaged>true</userManaged>
  <exposed>true</exposed>
  <browseable>true</browseable>
  <writePolicy>READ_ONLY</writePolicy>
  <indexable>true</indexable>
  <searchable>true</searchable>
  <localStorage>
    <provider>file</provider>
  </localStorage>
  <remoteStorage>
    <provider>apacheHttpClient3x</provider>
    <url>http://xxx.pod.dev.net:nnnn/nexus/content/repositories/snapshots/</url>
    <mirrors>
      <mirror>
        <id>http://xxx.pod.dev.net:nnnn/nexus/content/repositories/snapshots</id>
        <url>http://xxx.pod.dev.net:nnnn/nexus/content/repositories/snapshots</url>
      </mirror>
    </mirrors>
  </remoteStorage>
  <externalConfiguration>
    <repositoryPolicy>RELEASE</repositoryPolicy>
    <checksumPolicy>WARN</checksumPolicy>
    <fileTypeValidation>false</fileTypeValidation>
    <downloadRemoteIndex>true</downloadRemoteIndex>
    <artifactMaxAge>-1</artifactMaxAge>
    <metadataMaxAge>1440</metadataMaxAge>
    <autoBlockActive>true</autoBlockActive>
  </externalConfiguration>
</repository>

如果有人能指导我去哪里寻找,我将不胜感激。

maven build nexus
2个回答
0
投票

sonatype 社区的一位成员帮助我解决了这个问题。错误在行:

    <repositoryPolicy>RELEASE</repositoryPolicy>

我将其更改为 SNAPSHOT,现在可以使用了!


0
投票

naugustine的回复也为我们省了不少力气。代理存储库策略设置为 RELEASE,将其更改为 SNAPSHOT 解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.