m2eclipse没有在搜索中显示最新的工件

时间:2013-07-25 14:35:58

标签: eclipse maven m2eclipse nexus

我正在使用Eclipse和m2eclipse插件,并设置了一个nexus存储库镜像。当我搜索工件时,它不显示最新版本;有时它显示非常过时的工件版本。我通常最终在网上搜索最新版本。我是否配置错误,或者这是一个错误?我目前正在使用Eclipse Kepler,但这也发生在Juno版本中。

例如,我尝试添加groovy依赖项,目前版本为2.1.6。显示的最新(非beta)是1.8.1:

enter image description here

我不认为它与Nexus有任何关系。我可以在Eclipse的Maven Repositories视图中查看我的nexus存储库。此外,如果我手动输入最新版本没有错误,那么JAR文件会被正确拉入。

以下是引用Nexus镜像的本地settings.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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">

<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>       
    <server>
        <id>nexus</id>
        <username>deployment</username>
        <password>mypassword</password>
    </server>
</servers>

<mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>central</mirrorOf>
        <url>http://myserver/nexus/content/groups/public</url>
    </mirror>
</mirrors>
<profiles>
    <profile>
      <id>nexus</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>

      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
</profiles>

<activeProfiles>
    <activeProfile>nexus</activeProfile>
</activeProfiles>

1 个答案:

答案 0 :(得分:0)

这很可能是从Nexus下载索引文件的问题。

  1. 确保在Nexus网络用户界面中搜索时可以找到最新版本的相关性。如果这不起作用,则Nexus无法从上游站点下载索引。检查日志中的错误并手动触发下载。

  2. 如果在Nexus上搜索有效,请确保m2e可以在启动Eclipse时下载索引。启动Eclipse时查看进度视图;它应该告诉你它从Nexus下载索引。

  3. 您可以在启动Eclipse后立即查看Maven控制台(在控制台视图中;启用DEBUG以查看更多信息)。

    最后,您可以使用java而不是javaw启动Eclipse。然后它会将一些调试信息打印到控制台/终端窗口。