Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Make找不到tools.jar_Java_Path_Makefile - Fatal编程技术网

Java Make找不到tools.jar

Java Make找不到tools.jar,java,path,makefile,Java,Path,Makefile,运行Ubuntu 12.04 我已经添加到路径:/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找不到too

运行Ubuntu 12.04

我已经添加到路径:
/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$ 

确保JAVA_HOME env变量设置为jdk install dir

ANDROID_JAVA_HOME
环境变量设置为jdk path,修复此错误


我用找到了答案。

通常,这是因为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 for me的安装目录是“/usr/lib/jvm/jdk1.6.0_32/”,您可以根据自己的配置进行更改。

您想做什么?makefile可能假设可以使用JAVA_HOME环境变量或类似的东西找到JDK;它不会尝试搜索tools.jar的路径,也不会将JAVA_指向二进制文件。您将它指向安装java的顶级路径。相反,您将路径指向二进制文件所在的位置(而不是二进制文件本身),而不是安装java的顶级目录。@EtanReisner根据您的评论,我改为
java\u HOME=/HOME/jeffrey/jdk1.6.0\u 43
。注销/登录-仍然无法找到tools.jar该路径下是否有tools.jar?我还应该补充:无论何时尝试调试此类问题,都应该首先从shell命令提示符调用命令,以使其正常工作。如果你自己不能正常运行它,你希望make怎么做?相反,如果您可以运行它,但
make
无法运行,那么您知道问题在于您将命令翻译到makefile中。如果您事先说过您正在尝试构建一个Android环境,并且/或者在问题中使用了“Android”标记,那么您可能会有更相关的建议。考虑到你的问题和标签,每个人都认为你试图构建一个通用的Java程序。@Mad我事后才发现这是显而易见的,但我不想用我认为不相关的信息来搅乱这个问题。在每种情况下,在一个问题上投入多少是很难平衡的。