在插件存储库中找不到插件 - 当我的公司Nexus关闭时如何修复问题?

day*_*mer 5 java hadoop nexus maven

我想在Hadoop当地和当我做的时候

$ mvn  -U clean install -Pdist -Dtar -Ptest-patch
Run Code Online (Sandbox Code Playgroud)

如上所述 - http://wiki.apache.org/hadoop/HowToSetupYourDevelopmentEnvironment

[ERROR] Error resolving version for plugin 'org.apache.maven.plugins:maven-javadoc-plugin' from the repositories [local (/Users/me/.m2/repository), nexus (http://beefy.myorg.local:8081/nexus/content/groups/public)]: Plugin not found in any plugin repository -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我看到控制台上的日志,我明白了

[INFO] Apache Hadoop Distribution
[INFO] Apache Hadoop Client
[INFO] Apache Hadoop Mini-Cluster
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache Hadoop Main 3.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://beefy.myorg.local:8081/nexus/content/groups/public/org/apache/maven/plugins/maven-javadoc-plugin/maven-metadata.xml
[WARNING] Could not transfer metadata org.apache.maven.plugins:maven-javadoc-plugin/maven-metadata.xml from/to nexus (http://beefy.myorg.local:8081/nexus/content/groups/public): Error transferring file: Operation timed out
Run Code Online (Sandbox Code Playgroud)

既然nexus在我的公司倒闭了,有什么方法可以解决这个问题并让hadoop构建?

UPDATE

repository在我的项目pom中添加后,它仍然失败

[ERROR] Failed to execute goal on project hadoop: Could not resolve dependencies for project groupId:hadoop:jar:master-SNAPSHOT: Failed to collect dependencies for [org.apache.hadoop:hadoop-core:jar:0.20.2 (compile)]: Failed to read artifact descriptor for org.apache.hadoop:hadoop-core:jar:0.20.2: Could not transfer artifact org.apache.hadoop:hadoop-core:pom:0.20.2 from/to nexus (http://beefy.myorg.local:8081/nexus/content/groups/public): Error transferring file: Operation timed out -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

这是 pom.xml

  <repositories>
        <repository>
            <id>mvnrepository</id>
            <url>http://mvnrepository.com/artifact/</url>
        </repository>

    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>0.20.2</version>
        </dependency>
    </dependencies>
Run Code Online (Sandbox Code Playgroud)

Jea*_*evy 6

如果您可以访问Internet,只需声明一个新的maven存储库(在您的pom中,或在您的settings.xml中):

  <repositories>
    <repository>
      <id>your-internal-repo</id>
      <url>http://beefy.myorg.local:8081/nexus/content/</url>
    </repository>

    <repository>
      <id>mvnrepository</id>
      <url>http://mvnrepository.com/artifact/</url>
    </repository>
  </repositories>
Run Code Online (Sandbox Code Playgroud)

此配置将首先尝试从您的存储库下载,然后失败.并且maven将尝试所有已声明的存储库,直到它工作....或不:)

实际上,您的内部存储库是一个代理,它缓存远程存储库(mvnrepository).