使用Artifactory

时间:2015-09-12 14:39:11

标签: maven dependencies repository artifactory

所以我得到了一个错误 Could not find artifact javax.xml.xquery:xqj-api:jar:1.0 in remote-repos 这告诉我我在Artifactory中的设置存在问题。

问题是事情被缓存,所以即使我已经解决它,我也不一定知道。

我是否应该为Maven创建一个绕过所有镜像的备用settings.xml和一个非常小的pom.xml,它只引用我感兴趣的缺少的依赖项和引用repo的repository语句我认为我的依赖可能隐藏在哪里?

或者,收集需要添加到存储库管理器的存储库的详细信息的最佳极简主义方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以采取以下方法:

  1. search获取Artifactory中所需的工件。如果找到它,请确保从包含它的存储库中解析工件。这里的最佳实践是从virtual repository解析,它聚合了您需要的所有存储库。
  2. 如果您未在Artifactory中找到工件,请尝试使用remote search。远程搜索将在Bintray JCenter中查找工件。
  3. 如果您未在JCenter中找到工件,请尝试使用http://mvnrepository.com/等服务。如果您设法在存储库中找到工件,请将其作为新的remote repository添加到Artifactory(假设您信任此存储库并希望使用它)。您可以使用include/exclude模式确保仅从此存储库中解析特定工件。
    另一种选择是从远程URL下载所需的特定工件并将其部署在本地存储库(如ext-lib)中-releases。再次确保您选择的任何选项都可以解析工件。
  4. 如果您未设法在任何公共Maven存储库中找到工件,请尝试使用Google搜索工件,并将所需文件部署到Artifactory,如上一项所述。仅从您信任的站点下载并验证您是否正在下载合法/有效的文件。

答案 1 :(得分:0)

首先请@drorb感谢您的回答,它引导我找到以下解决问题的方法。

因此,在Maven中,您可以拥有多个个人资料。我定义了两个配置文件" direct"和"神器"并设置"直接"作为我的ActiveProfile。

使用直接配置文件,即实际的repo URL',我添加了通过搜索找到的存储库,直到我的构建成功为止。

然后我进入Artifactory并将所有已发现的回购列表输入其远程存储库列表,然后编辑了" remote-repos"虚拟存储库并将其设置为我刚添加的远程存储库列表。

最后我将〜/ .m2 / settings.xml切换到" artifactory"简介并重建了我的项目。

相关问题