java - 未连接到公司VPN时从Maven存储库下载 Artifact

标签 java maven elasticsearch vpn

继续我的上一个问题not-able-to-locate-artifact-in-maven-repository,我能够在Maven存储库中找到 Artifact ,从而在pom.xml中添加 Artifact 的相应URL。

enter image description here

我仍然无法从Maven存储库下载 Artifact 。

enter image description here

  • 使用我的公司提供的maven settings.xml使用我的公司存储库,当我未连接到我公司的VPN并进行maven导入时,它不起作用并出现以下错误。
  • Could not resolve dependencies for project com.indore:galaxy:jar:1.0-SNAPSHOT: Failed to collect dependencies at org.elasticsearch.client:elasticsearch-rest-high-level-client:jar:7.4.1: Failed to read artifact descriptor for org.elasticsearch.client:elasticsearch-rest-high-level-client:jar:7.4.1: Could not transfer artifact org.elasticsearch.client:elasticsearch-rest-high-level-client:pom:7.4.1 from/to nexus (http://nexus.dev.<my-company-name>.com/nexus/content/groups/public): nexus.dev.<my-company-name>.com: nodename nor servname provided, or not known:
    enter image description here

    所以有人可以告诉我我想念的东西吗?

    编辑1

    如@Opster Elasticsearch Ninja所述,我在maven settings.xml中提供了mirror标签
    <mirror>
                <id>nexus</id>
                <mirrorOf>*</mirrorOf>
                <url>http://nexus.dev.<my-company>.com/nexus/content/groups/public</url>
    </mirror>
    

    并且,Intellij maven设置为:

    enter image description here

    最佳答案

    问题原因:

    即使您在pom.xml中指定了公共(public)存储库,Intellij也会检查在maven settings.xml中定义的这些存储库的设置,更多说明in this SO answer.

    现在,当您使用已安装的Maven版本时,IntelliJ正在使用maven .m2文件夹中存在的settings.xml。根据您的mirror标记,对于所有存储库(使用通配符*),正在使用您的公司存储库。

    当您那时未连接到公司VPN时,Maven无法连接到您的存储库,因此会引发错误节点名或提供的服务器名,或者未知:,因此无法从存储库下载 Artifact ,但是当存储库可访问,它将下载 Artifact 。

    this SO answer中详细介绍了有关mirror标签的内容,并解释了*mirrorof值。

    解:

  • 只需将mirrorOf标记值从*更改为仅公司回购的特定id
  • 如果您不知道您公司回购的特定id,那么现在请注释mirror标记并重试,maven应该连接到pom.xml中提到的公共(public)回购并下载 Artifact 。
  • 关于java - 未连接到公司VPN时从Maven存储库下载 Artifact ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59640855/

    相关文章:

    java - 如何查找二维数组(矩形矩阵)是否有一条直线

    java - “mvnw”不被识别为内部或外部命令

    Elasticsearch CORS 错误与 ReactiveSearch

    Elasticsearch 按数组的第一个元素排序

    json - 在 JSON 中存储嵌套数据还是使用具有唯一名称的平面结构更好?

    java - 按钮被背景图像隐藏

    java - 将 XML 中的 Base64 编码数据保存到文件中

    java - 如何用Java编程检测进程和端口是否存活?

    java - 如何使用 Maven 为特定操作系统构建 jar?

    maven - Grails版本插件Maven部署不会始终更新maven-metadata.xml中的<latest>标签