【问题标题】:Make cannot find tools.jarMake找不到tools.jar
【发布时间】:2013-08-19 02:34:38
【问题描述】:

运行 Ubuntu 12.04

我已添加到 PATH:/home/jeffrey/jdk1.6.0_43/lib

我正在尝试使用 Make 从源代码构建:

make -j16

但是遇到错误:

build/core/config.mk:268: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com.  Stop.

谁能给我解释一下为什么Make找不到tools.jar

编辑

JAVA_HOME=/home/jeffrey/jdk1.6.0_43/bin/java

通过在 shell 中输入env 命令来确定。此外,这是为etc/profile中的所有用户设置的

另外:

jeffrey@jeffrey-Satellite-M645:~/WORKING_DIRECTORY$ java -version
java version "1.6.0_43"
Java(TM) SE Runtime Environment (build 1.6.0_43-b01)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)
jeffrey@jeffrey-Satellite-M645:~/WORKING_DIRECTORY$ 

【问题讨论】:

  • 你想做什么? makefile 可能假设可以使用 JAVA_HOME 环境变量或类似的东西找到 JDK;它不会尝试在 PATH 中搜索 tools.jar。
  • 您不会将 JAVA_HOME 指向二进制文件。您将其指向安装 java 的顶级路径。相反,您将 PATH 指向二进制文件所在的位置(不是二进制文件本身),而不是安装 java 的顶级目录。
  • @EtanReisner 根据您的评论,我已更改为 JAVA_HOME=/home/jeffrey/jdk1.6.0_43。注销/打开 - 仍然无法找到 tools.jar
  • 该路径下的某处是否有 tools.jar?
  • 我还应该补充一点:无论何时尝试调试此类问题,您都应该始终通过首先从 shell 命令提示符调用命令来使其正常工作。如果你自己不能正常运行它,你希望 make 怎么做呢?相反,如果您可以运行它但make 不能运行,那么您就知道问题在于您将命令翻译成makefile。

标签: java path makefile


【解决方案1】:

确保 JAVA_HOME 环境变量设置为 jdk-install-dir

【讨论】:

    【解决方案2】:

    ANDROID_JAVA_HOME环境变量设置为JDK路径,修复了这个错误。

    我通过this SO post找到了答案。

    【讨论】:

    • 好吧,如果您事先说您正在尝试构建一个 Android 环境,和/或在您的问题中使用了“android”标签,那么您可能有更多相关的建议。鉴于您的问题和标签,每个人都认为您正在尝试构建通用 Java 程序。
    • @MadScientist 我事后看来这很明显,但我不想用我认为不相关的信息来混淆这个问题。在每种情况下,要在问题中投入多少,这是一个艰难的平衡。
    【解决方案3】:

    这通常是由于没有将 javac 配置为系统的替代方案。所以你的 javac 没有 /usr/bin/javac 的链接。

    请使用以下命令设置 javac 的替代方案:

    $ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_32/bin/javac" 1
    

    注意:javac的安装目录对我来说是“/usr/lib/jvm/jdk1.6.0_32/”,你可以通过你的配置改变它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 2015-07-22
      • 2016-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多