在eclipse

时间:2016-04-29 21:12:39

标签: eclipse maven artifactory

我正在使用eclipse,maven和artifactory。我的工件安装镜像maven central(https://repo1.maven.org/maven2/被添加为神器中的远程存储库)。

当我在eclipse中搜索maven依赖项时,我很少得到任何结果,需要手动添加它们(工作正常)。似乎索引只包含我已安装的依赖项,而不是在maven central中查找:

enter image description here

我希望在org下有更多匹配,并且还应该有更多版本的 spring-webmvc (请参阅maven central)。

我试图重建索引:

enter image description here

但没有效果。我是否错过了eclipse中maven依赖搜索的目的?

正如我所写,我使用artifactory来镜像maven central并在我的〜/ .m2 / settings.xml文件中配置了它(用虚拟信息替换了真实信息)

<?xml version="1.0"?>
<settings>
  <mirrors>
    <mirror>     
      <id>artifactory</id>
      <name>Maven Repository</name>
      <mirrorOf>*</mirrorOf>
      <url>http://myhost/artifactory/simple</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>artifactory</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>artifactory</activeProfile>
  </activeProfiles>
<servers>
    <server>
      <id>releases</id>
        <username>admin</username>
        <password>bla</password>
    </server>
    <server>
      <id>snapshots</id>
        <username>admin</username>
    <password>bla</password>
    </server>
    <server>
      <id>thirdparty</id>
        <username>admin</username>
        <password>bla</password>
    </server>
    <server>
      <id>artifactory</id>
      <username>admin</username>
      <password>bla</password>
    </server>
  </servers>
</settings>

如下所述,我删除了AF中的代理配置。我仍然有指向maven-central的远程存储库:

enter image description here

没有为此远程存储库配置代理。此外,我创建了一个包含上述远程存储库的虚拟存储库:

enter image description here

我在本地计算机上的〜/ .m2 / settings.xml 文件中的虚拟存储库:

<mirror>     
  <id>artifactory</id>
  <name>Maven Repository</name>
  <mirrorOf>*</mirrorOf>
  <url>http://myhost/artifactory/simple</url>
</mirror>

我还启用了maven索引器:

enter image description here

并触发了一次运行,但它没有效果,我仍然没有从eclipse中的maven-central中获得任何搜索命中,除了我已经在〜/ .m2 / repository

因此,在eclipse中搜索依赖项似乎仍然只包含本地存储在您计算机上的工件。

2 个答案:

答案 0 :(得分:1)

您似乎意外地混淆了代理和远程存储库的Artifactory概念 Artifactory中的proxy配置适用于使用公司代理访问Internet的组织。您似乎已将其配置为有意代理Maven中央存储库 您应该做的是将您创建的maven-central remote repository配置为代理maven central:

enter image description here

此外,您应该删除代理配置,除非您需要传递公司代理。在这种情况下,您应该配置正确的主机和凭据 正确配置远程存储库后,Eclipse应该能够从Maven中心下载Maven索引并执行搜索 如果您还需要使用Eclipse在本地存储库中搜索工件,则需要在Artifactory中启用Maven indexing

答案 1 :(得分:0)

根据Maven, Guide to Mirror Settings, Using A Single Repository

  

存储库必须包含所有需要的工件,或能够将请求代理到其他存储库。当使用内部公司存储库和Maven存储库管理器时,此设置最有用代理外部请求。

[强调我。]

上述代理在Artifactory中被称为Remote Repository

  

要配置远程存储库,请在管理模块中转到存储库|远程并单击它以显示编辑存储库屏幕。

如果确定M2Eclipse,则可以:

  
      
  • 快速搜索Maven远程存储库中的依赖项
  •