gradle: java: 找不到系统 Java 编译器
gradle: java: Cannot find System Java Compiler
如何 gradle 我的 hello.java 项目?现在我收到错误消息 "Cannot find 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 中提到的事情。那里的提示与我在谷歌搜索中发现的大多数提示相似。
由于隐形箭头的回答,我将 $JAVA_HOME 更改为 /usr/lib/jvm/java-7-openjdk-i386
user:~/program/java$ echo "$JAVA_HOME"
/usr/lib/jvm/java-7-openjdk-i386
还是一样的错误。
根据您在上面粘贴的属性,似乎安装了两个版本的 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 安装。
根据 Invisible Arrows 的提示,我做了一个 complete uninstallation of my java packages. 然而,跟随这个的人应该知道,那里的最佳投票答案删除了许多你必须稍后重新安装的软件包。
删除所有 java 足迹后,我重新安装了 java 7 jdk 和 gradle
sudo apt-get install openjdk-7-jdk gradle
现在可以使用了。
对我来说,我必须转到 Window->Preferences 并在 Git->Arguments 中将其设置为 'Workspace JRE',我已经在 Eclipse 的 [=15] 中进行了设置=]->'Installed JRE' 设置,与默认选项“使用 Gradle 包装器的默认设置”相对。
如何 gradle 我的 hello.java 项目?现在我收到错误消息 "Cannot find 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 中提到的事情。那里的提示与我在谷歌搜索中发现的大多数提示相似。
由于隐形箭头的回答,我将 $JAVA_HOME 更改为 /usr/lib/jvm/java-7-openjdk-i386
user:~/program/java$ echo "$JAVA_HOME"
/usr/lib/jvm/java-7-openjdk-i386
还是一样的错误。
根据您在上面粘贴的属性,似乎安装了两个版本的 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 安装。
根据 Invisible Arrows 的提示,我做了一个 complete uninstallation of my java packages. 然而,跟随这个的人应该知道,那里的最佳投票答案删除了许多你必须稍后重新安装的软件包。
删除所有 java 足迹后,我重新安装了 java 7 jdk 和 gradle
sudo apt-get install openjdk-7-jdk gradle
现在可以使用了。
对我来说,我必须转到 Window->Preferences 并在 Git->Arguments 中将其设置为 'Workspace JRE',我已经在 Eclipse 的 [=15] 中进行了设置=]->'Installed JRE' 设置,与默认选项“使用 Gradle 包装器的默认设置”相对。