使用Maven构建Hadoop时出错

时间:2014-11-08 16:54:17

标签: java apache maven hadoop

我正在使用Maven构建Hadoop项目。我面临以下错误

  

[错误]无法在项目上执行目标hadoop-minikdc:无法解析项目的依赖项org.apache.hadoop:hadoop-minikdc:jar:3.0.0-SNAPSHOT:找不到org.apache.directory.jdbm :apacheds-jdbm1:bundle:https://repo.maven.apache.org/maven2中的2.0.0-M2缓存在本地存储库中,在中心的更新间隔过去或强制更新之前,不会重新尝试解析

的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-    4.0.0.xsd">
  <parent>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-project</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../../hadoop-project</relativePath>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-minikdc</artifactId>
  <version>3.0.0-SNAPSHOT</version>
  <description>Apache Hadoop MiniKDC</description>
  <name>Apache Hadoop MiniKDC</name>
  <packaging>jar</packaging>
<dependencies>
<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.apache.directory.server</groupId>
  <artifactId>apacheds-core-api</artifactId>
  <version>2.0.0-M15</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>
      <groupId>org.apache.directory.api</groupId>
      <artifactId>api-ldap-schema-data</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.apache.directory.server</groupId>
  <artifactId>apacheds-interceptor-kerberos</artifactId>
  <version>2.0.0-M15</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>
      <groupId>org.apache.directory.api</groupId>
      <artifactId>api-ldap-schema-data</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.apache.directory.server</groupId>
  <artifactId>apacheds-protocol-shared</artifactId>
  <version>2.0.0-M15</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.apache.directory.server</groupId>
  <artifactId>apacheds-protocol-kerberos</artifactId>
  <version>2.0.0-M15</version>
  <scope>compile</scope>
  <exclusions>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.apache.directory.server</groupId>
  <artifactId>apacheds-ldif-partition</artifactId>
  <version>2.0.0-M15</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>
      <groupId>org.apache.directory.api</groupId>
      <artifactId>api-ldap-schema-data</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.apache.directory.server</groupId>
  <artifactId>apacheds-mavibot-partition</artifactId>
  <version>2.0.0-M15</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>
      <groupId>org.apache.directory.api</groupId>
      <artifactId>api-ldap-schema-data</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.apache.directory.api</groupId>
  <artifactId>api-all</artifactId>
  <version>1.0.0-M20</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
    </exclusion>
    <exclusion>
      <groupId>xpp3</groupId>
      <artifactId>xpp3</artifactId>
    </exclusion>
    <exclusion>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.apache.directory.server</groupId>
  <artifactId>apacheds-jdbm-partition</artifactId>
  <version>2.0.0-M15</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>
      <groupId>org.apache.directory.api</groupId>
      <artifactId>api-ldap-schema-data</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.apache.directory.server</groupId>
  <artifactId>apacheds-protocol-ldap</artifactId>
  <version>2.0.0-M15</version>
  <scope>compile</scope>
  <exclusions>
    <exclusion>
      <groupId>org.apache.directory.api</groupId>
      <artifactId>api-ldap-schema-data</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <scope>compile</scope>
</dependency>
 </dependencies>
</project>

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

这与Maven用于更新本地存储库中的依赖项的update policy有关。一种解决方案是尝试手动删除本地存储库中包含依赖项org.apache.directory.jdbm:apacheds-jdbm1:bundle:2.0.0-M2的目录,然后重新启动构建。

您还可以通过将-U传递给Maven来强制更新所有依赖项,例如:

mvn clean install -U

答案 1 :(得分:0)

如果此依赖项是私有的,则需要将相关信息添加到〜/ .m2 / settings.xml中的maven设置文件

答案 2 :(得分:0)

从你的陈述中,你说你无法解决项目org.apache.hadoop的依赖关系:hadoop-minikdc:jar:3.0.0-SNAPSHOT。好吧,我认为这是你错误的maven代理,你无法下载这个jar。请再次检查您的代理。请转到目录。 of〜/ .m2 / settings.xml来重新设置你的设置。

像这样

<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username></username>
  <password></password>
  <host>child-prc.intel.com</host>
  <port>913</port>
  <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>

相关问题