我如何计算我的hello.java项目?现在我收到错误消息“找不到System Java Compiler”。但是,对我来说,在这个Ubuntu 14上看起来一切都很好:
user:~/program/java/src/main/java$ javac hello.java
user:~/program/java/src/main/java$ ls
hello.class hello.java
user:~/program/java/src/main/java$ java hello
Hello World!
user:~/program/java/src/main/java$ cd ../../../
user:~/program/java$ ls
build build.gradle src
user:~/program/java$ gradle build
:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileJava'.
> Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.
* Try: ...
BUILD FAILED
我的系统配置:
user:~/program/java$ javac -version
javac 1.7.0_72
user:~/program/java$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.14.04.1)
OpenJDK Server VM (build 24.65-b04, mixed mode)
suser:~/program/java$ echo "$JAVA_HOME"
/usr/lib/jvm/java-1.7.0-openjdk-i386
user:~/program/java$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 41 Jan 10 18:29 /etc/alternatives/java -> /usr/lib/jvm/java-7-openjdk-i386/bin/java
JAVA_HOME在/ etc / environment(重启)以及$ HOME / .bashrc中定义。
所以,我想我做了this post中提到的事情。这里的提示类似于我发现谷歌搜索的大多数提示。
由于Invisible Arrows的回答,我将$ JAVA_HOME更改为/ usr / lib / jvm / java-7-openjdk-i386
user:~/program/java$ echo "$JAVA_HOME"
/usr/lib/jvm/java-7-openjdk-i386
仍然是同样的错误。
答案 0 :(得分:3)
按照Invisible Arrows的提示,我做了一个complete uninstallation of my java packages.但是,按照这个应该知道,那里最好的投票答案会删除许多你以后必须重新安装的软件包。
删除所有java脚印后,我重新安装了java 7 jdk并使用
进行了gradlesudo apt-get install openjdk-7-jdk gradle
现在可行。
答案 1 :(得分:1)
从您上面粘贴的属性中,似乎安装了两个版本的Java:
/usr/lib/jvm/java-1.7.0-openjdk-i386
(很可能不是JDK,只是JRE)/usr/lib/jvm/java-7-openjdk-i386
JAVA_HOME
指向的那个似乎是JRE而不是JDK。
尝试将其更改为指向/usr/lib/jvm/java-7-openjdk-i386
,然后运行Gradle构建。
此外,验证java
和javac
返回的版本是否相同,这将确认它们指向相同的JDK安装。
答案 2 :(得分:0)
对我来说,我必须转到Window->偏好设置和Git-> Arguments,将它设置为'Workspace JRE',我已经在Eclipse的Java->'Installed JRE'设置中设置了它,而不是默认选项'使用Gradle包装器的默认值'。