6

我正在尝试在Hadoop本地进行建设,当我这样做时

$ mvn  -U clean install -Pdist -Dtar -Ptest-patch

如前所述 - 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]

当我在控制台上看到日志时,我看到

[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

由于nexus我的公司倒闭了,有什么办法可以解决这个问题并让 hadoop 构建?

更新

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

[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]

这是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>
4

2 回答 2

8

如果您可以访问互联网,只需声明一个新的 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>

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

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

于 2012-07-28T17:56:15.257 回答
2

使用maven 安装插件下载依赖项并将它们放置在您的 m2 存储库中

于 2012-07-28T17:48:55.073 回答