我正在使用eclipse,maven和artifactory。我的工件安装镜像maven central(https://repo1.maven.org/maven2/被添加为神器中的远程存储库)。
当我在eclipse中搜索maven依赖项时,我很少得到任何结果,需要手动添加它们(工作正常)。似乎索引只包含我已安装的依赖项,而不是在maven central中查找:
我希望在org
下有更多匹配,并且还应该有更多版本的 spring-webmvc (请参阅maven central)。
我试图重建索引:
但没有效果。我是否错过了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的远程存储库:
没有为此远程存储库配置代理。此外,我创建了一个包含上述远程存储库的虚拟存储库:
我在本地计算机上的〜/ .m2 / settings.xml 文件中的虚拟存储库:
<mirror>
<id>artifactory</id>
<name>Maven Repository</name>
<mirrorOf>*</mirrorOf>
<url>http://myhost/artifactory/simple</url>
</mirror>
我还启用了maven索引器:
并触发了一次运行,但它没有效果,我仍然没有从eclipse中的maven-central中获得任何搜索命中,除了我已经在〜/ .m2 / repository
因此,在eclipse中搜索依赖项似乎仍然只包含本地存储在您计算机上的工件。
答案 0 :(得分:1)
您似乎意外地混淆了代理和远程存储库的Artifactory概念 Artifactory中的proxy配置适用于使用公司代理访问Internet的组织。您似乎已将其配置为有意代理Maven中央存储库 您应该做的是将您创建的maven-central remote repository配置为代理maven central:
此外,您应该删除代理配置,除非您需要传递公司代理。在这种情况下,您应该配置正确的主机和凭据 正确配置远程存储库后,Eclipse应该能够从Maven中心下载Maven索引并执行搜索 如果您还需要使用Eclipse在本地存储库中搜索工件,则需要在Artifactory中启用Maven indexing。
答案 1 :(得分:0)
根据Maven, Guide to Mirror Settings, Using A Single Repository:
存储库必须包含所有需要的工件,或能够将请求代理到其他存储库。当使用内部公司存储库和Maven存储库管理器时,此设置最有用代理外部请求。
[强调我。]
上述代理在Artifactory中被称为Remote Repository:
要配置远程存储库,请在管理模块中转到存储库|远程并单击它以显示编辑存储库屏幕。
如果确定M2Eclipse,则可以:
- 快速搜索Maven远程存储库中的依赖项