【问题标题】:Sonatype Nexus remote repo but eclipse never gets missing jarsSonatype Nexus 远程仓库,但 Eclipse 永远不会丢失 jars
【发布时间】:2014-04-23 23:12:27
【问题描述】:

我昨天安装并设置了 nexus 允许匿名访问,因为我可以从浏览器查看 repo 好的,无需任何登录,这是在红帽服务器上。

然后我从本地 maven 存储库中删除了一些我自己的 jar 文件,并将以下内容添加到我的 pom 文件的顶部:

<repositories>
  <repository>     
    <id>projectX</id>
    <name>projectX</name>
    <url>http://testapp:8081/nexus/content/repositories/projectX/</url>
  </repository>

当我现在在 Eclipse 中右键单击我的项目并选择 maven >> 更新项目时,它似乎永远不会转到我的 testapp 上的存储库并获取丢失的 jar 文件,而是我只是在 pom 中有项目引用问题和问题文件。

有谁知道我做错了什么?通过网络浏览器显示的 nexus 中的 repo 的 URL 是正确的,我可以将它从我的 pom 文件复制到我的浏览器并点击它。

谁能帮忙?

【问题讨论】:

    标签: maven repository pom.xml nexus sonatype


    【解决方案1】:

    您是否也可以尝试将以下内容添加到 &lt;repository&gt; 部分 - 假设您对发布版本使用相同的存储库?

    <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
        <checksumPolicy>warn</checksumPolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
        <updatePolicy>never</updatePolicy>
        <checksumPolicy>fail</checksumPolicy>
      </snapshots>
      ...
    </repository>
    

    您可能也需要对 &lt;pluginRepositories&gt; 执行相同的操作,假设这些是从您的关系中提供的。

    您可以在settings.xmlprofile 中声明这些,而不是更新pom.xml,这样您就可以跨项目重复使用它。

    【讨论】:

    • 您好,感谢您的回复,这似乎没有什么不同,但似乎有些文件可以从存储库中检索,而其他文件(在那里)则不能。我在日志文件(eclipse maven 控制台)中收到此警告,用于特定 jar 不起作用:18/03/2014 12:53:27 GMT: [WARN] The POM for com.intersys:CacheDB:jar:4.2.1224.0丢失,没有可用的依赖信息 - 奇怪的是 jar 文件和 pom 文件都在那里。
    • @pao 您可能需要重新查看 pom 文件(如果存在)。也许它在错误的地方。也许版本与jar不同。是 nexus 为您生成的还是您手动上传的?
    • 您好,再次感谢,我想我有点被骗了,我从我的 windows 机器上获取了本地 .m2 目录,然后将它复制到 linux 服务器,因为我有很多自定义的 jar 文件仅在我的本地仓库中。我认为这可能与它有关,但我不确定,因为我对使用 maven 很陌生,因为我们才刚刚开始采用这种方法。
    • 我从远程仓库中完全删除了CacheDB jar文件,然后在服务器上使用maven将文件安装到仓库中,eclipse仍然无法从远程仓库中抓取文件,同样的错误..
    • pom 文件看起来没问题。
    猜你喜欢
    • 2016-04-19
    • 2012-04-07
    • 2013-03-06
    • 2013-08-25
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2011-01-23
    相关资源
    最近更新 更多