【问题标题】:Maven install Hadoop from source, looking in the wrong path for tools.jarMaven 从源代码安装 Hadoop,查找 tools.jar 的错误路径
【发布时间】:2014-05-31 14:33:10
【问题描述】:

我正在尝试使用“mvn clean install”构建 hadoop-2.4.0-src。大约一半成功完成,但随后 HDFS 项目失败:

Exception in thread "main" java.lang.AssertionError: Missing tools.jar at: /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/Classes/classes.jar. Expression: file.exists()

....../Home/Classes/ 不存在,tools.jar 在......../Home/lib 中。我的$JAVA_HOME 环境变量绝对设置正确,并且错误消息中列出的JDK 是正确的——它只是在该路径中的错误位置查找。我看过一些帖子,一个常见的问题是人们使用的是JRE而不是JDK,但我确定我的是JDK。

我已经尝试了这里接受的答案中的两个建议: Buiding Hadoop with Eclipse / Maven - Missing artifact jdk.tools:jdk.tools:jar:1.6

...没有成功。将“依赖”块添加到 Hadoop 的 pom.xml 没有任何效果,对于第二个建议,我将相关版本号从 1.6 更改为 1.7。我还尝试了类似问题的各种其他建议,但均未成功。

which 返回我期望的结果:

$ which javac
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin/javac

但是,JavaVM.framework/Versions 的内容对我来说似乎很奇怪,因为它似乎没有列出 1.7:

/System/Library/Frameworks/JavaVM.framework/Versions $ ls -al
total 64
drwxr-xr-x  11 root  wheel  374 May 10 11:05 ./
drwxr-xr-x  12 root  wheel  408 May 10 11:05 ../
lrwxr-xr-x   1 root  wheel   10 May 10 11:05 1.4@ -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10 May 10 11:05 1.4.2@ -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10 May 10 11:05 1.5@ -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10 May 10 11:05 1.5.0@ -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10 May 10 11:05 1.6@ -> CurrentJDK
lrwxr-xr-x   1 root  wheel   10 May 10 11:05 1.6.0@ -> CurrentJDK
drwxr-xr-x   8 root  wheel  272 May 10 11:05 A/
lrwxr-xr-x   1 root  wheel    1 May 10 11:05 Current@ -> A
lrwxr-xr-x   1 root  wheel   59 May 10 11:05 CurrentJDK@ -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents

我对 Java 比较陌生,所以我很难找出问题的根源 - 是不是我的本地目录树,如 Versions 的奇怪内容所示? Java 是否配置不正确(尽管我已经在 Eclipse 中使用 Java 1.7 几个星期了,没有任何问题)?还是我需要以某种方式更新 Hadoop 的 pom.xml 的问题?

感谢您的帮助。

【问题讨论】:

    标签: java maven hadoop


    【解决方案1】:

    运行以下命令来解决我的 Mac 上的问题:

    cd /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/ 
    sudo mkdir Classes 
    cd Classes/ 
    sudo ln -s ../jre/lib/rt.jar classes.jar
    

    参考: http://ilovemylinux.blogspot.com/2013/05/maven-jspc-compile-error-with-java-7-on.html

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 2016-05-13
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多