尝试运行gradle时,出现以下错误:
# gradle
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Run Code Online (Sandbox Code Playgroud)
但是,当我检查JAVA_HOME变量时,我得到:
# echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
Run Code Online (Sandbox Code Playgroud)
我的JAVA_HOME在.bashrc中定义,我已经仔细检查过它是否被设置为源.
运行java -version还确认JAVA_HOME设置正确并且在PATH上.
# java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我还检查了/usr/bin/java符号链接到/etc/alternatives/java哪个正确符号链接到的符号链接/usr/lib/jvm/java-7-oracle/jre/bin/java
另外,我已经检查过.bash_profile或者没有重复的JAVA_HOME定义/etc/profile.
所以我的问题是Gradle如何/为何找到/usr/lib/jvm/default-java,更重要的是我如何将其指向正确的目录?
其他需要JDK工作的程序,所以我认为它是Gradle问题.我也尝试重新安装Gradle,没有任何区别.
我正在运行64位Xubuntu(Ubuntu 13.10基础)
我已将my设置JAVA_HOME为/usr/lib/jvm/java-7-oracle包含有效JVM,但gradle坚持使用/usr/lib/jvm/default-java和抱怨JAVA_HOME:
$ echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
$ ls $JAVA_HOME
bin COPYRIGHT db include jre lib LICENSE man README.html release src.zip THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt
$ gradle assemble
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题并让gradle使用我的有效信息JAVA_HOME?
注意:我JAVA_HOME是通过~/.bashrc使用来设置的export JAVA_HOME="/usr/lib/jvm/java-7-oracle"