“java -version” 显示不同的输出。如何找到安装文件夹并配置 JAVA_HOME 和 JDK_HOME?

“java -version” 显示不同的输出。如何找到安装文件夹并配置 JAVA_HOME 和 JDK_HOME?

我从 Oracle 网站下载并安装了 JDK+Netbeans 包,但是当我java -version在终端上输入时,我得到以下输出:

$ java -version
The program 'java' can be found in the following packages:
 * default-jre
 * gcj-4.8-jre-headless
 * openjdk-7-jre-headless
 * gcj-4.6-jre-headless
 * openjdk-6-jre-headless
Try: sudo apt-get install <selected package>  

首先,这是什么意思?我的系统上安装了多个版本的 Java 吗?
第二,安装 Netbeans+JDK 后,会创建一个 JDK 文件夹。以下是该文件夹的内容:

$ pwd
/usr/local/jdk1.8.0_65
$ ls
bin        javafx-src.zip  man          THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT  jre             README.html  THIRDPARTYLICENSEREADME.txt
db         lib             release
include    LICENSE         src.zip

第三,JDK_HOME尽管我放弃了,但export JDK_HOME=/usr/local/jdk1.8.0_65Android Studio 还是找不到bashrc。该怎么办?

我正在考虑删除jdk1.8.0_65文件夹并使用sudo apt-get install default-jresudo apt-get install default-jdk,但担心删除 jdk 文件夹是否会搞乱某些东西,或者命令apt-get是否会下载最新版本的 Java。

更新:
尝试将bin文件夹添加到PATH,但虽然 Java 版本显示正确,Android Studio 却无法找到 JDK。

$ echo $PATH
/usr/local/jdk1.8.0_65/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
$ android
[sudo] password for nav: 
ERROR: Cannot start Android Studio
No JDK found. Please validate either STUDIO_JDK, JDK_HOME or JAVA_HOME environment variable points to valid JDK installation.
$ echo $JAVA_HOME
/usr/local/jdk1.8.0_65/bin
$ echo $JDK_HOME
/usr/local/jdk1.8.0_65
$  

答案1

您缺少的是将jdk1.8.0_65/bin文件夹添加到您的 PATH 环境变量中。

首先,这是什么意思?我的系统上安装了多个版本的 Java 吗?

不是,但是您安装的那个/usr/local/jdk1.8.0_65不在依赖 Java 的其他程序(例如netbeans或)的路径下android。要亲自验证,只需打开终端并将包含java可执行文件的文件夹添加到路径变量中,如下所示:

export PATH="/usr/local/jdk1.8.0_65/bin:$PATH"

要测试这是否成功,请转到任意目录并执行此命令:

java -version

一旦成功,转到 netbeans 文件夹并执行它:

./netbeans

如果所有其他设置都正确,它应该可以运行,android 也应该可以运行!要使更改永久生效,请将路径修饰符添加到您的文件中(否则,您每次打开终端使用 java 时~/.profile都必须发出该命令)。export

答案2

首先,这是什么意思?我的系统上安装了多个版本的 Java 吗?

否,这些是安装以获取 Java 的软件包选项。您当前已选择在软件包系统之外安装。

如果可以,最简单的方法是使用软件包支持的 Java 版本。这样,您可以简单地更新软件包,而不必安装另一个 JDK 并将所有指针更改为新版本。

第三,尽管我在 bashrc 中提供了 export JDK_HOME=/usr/local/jdk1.8.0_65,但 Android Studio 仍找不到 JDK_HOME。该怎么办?

此时,您需要Java 7才能使用Android Studio进行开发。 http://developer.android.com/sdk/installing/index.html?pkg=studio https://stackoverflow.com/questions/23318109/is-it-possible-to-use-java-8-for-android-development

相关内容