当前位置: 首页>>技术教程>>正文


update-java-alternatives vs update-alternatives –config java

,

问题描述

在Ubuntu 12.04 LTS上,我安装了Sun的JDK7,Eclipse和Arduino IDE。我希望Arduino使用OpenJDK 6并希望Eclipse使用Sun的JDK 7。

根据我的理解,我需要在运行每个应用程序之前手动选择要使用的Java。这导致我进入update-java-alternatives -l命令。当我运行这个时,我只看到以下内容:

java-1.6.0-openjdk-amd64 1061 /usr/lib/jvm/java-1.6.0-openjdk-amd64

但是当我运行update-alternatives --config java时,我看到以下内容:

*0  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   auto mode
1  /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   manual mode
2  /usr/lib/jvm/jdk1.7.0/bin/java                   manual mode
3  /usr/lib/jvm/jre1.7.0/bin/java                   manual mode

我不明白为什么update-java-alternatives不显示相同的3个选项。我也不明白如何在OpenJDK6和JDK7之间切换。我如何使用OpenJDK6进行Arduino开发,使用Sun JDK7进行Eclipse /Android开发?

最佳解决方法

sudo update-alternatives --config java

配置程序”java”的默认值。那是Java VM。

sudo update-alternatives --config javac

配置默认的Java编译器。

您还可以看到,因为第一个命令列出了很多”JRE”(Java运行时环境)文件夹,而程序只是名为”java”。

如果我通过发出命令java -versionjavac -version来检查正在使用哪个版本,我可以看到,每个命令都会更改正在使用的程序。

但是,使用带有JDK版本的update-java-alternatives会为我更改这两个程序。使用第一个命令,您可以使用来自不同JDK的Java VM和Java编译器。

因此,您似乎也需要安装openjdk-7-jdk软件包。看起来您只安装了openjdk-7-jre

至于不同开发环境的切换:

您是在谈论使用不同的Java版本启动IDE本身,还是在IDE中使用不同的版本来编译和运行您的应用程序?

For 1。:您可以在eclipse.ini中指定要使用的JVM,如here所述。我不知道如何为Arduino IDE做到这一点。

对于2:在Eclipse中,您可以选择要在Window中使用的JRE /JDK – >偏好 – > Java – >已安装的JRE。并在Java下 – >如果您愿意,编译器可以选择较旧的Java合规性。

编辑:This DigitalOcean page也有一个非常好的解释Ubuntu上与Java相关的所有内容。

次佳解决方法

update-java-alternatives是一个更新jre/jdk安装替代品的程序。

update-alternatives是一个用于linux的符号链接管理系统(我相信这里没有什么新闻)。

您可以并且确实应该同时使用update-java-alternativesupdate-alternatives

首先,确保正确配置所有备选方案。 java和javac只是一些。用javadocrmicserialver等代替上述变量:native2ascii/opt/jdk1.8.0_40/bin/native2ascii应报告是否安装和/或选择了替代品。

配置完所有备选方案后,您可以在/usr/lib/jvm中创建指向手动安装的链接。

要配置update-java-alternatives,您必须使用与目录同名的隐藏文件,但前缀为a。 (点)。

希望这可以帮助。

参考书目

man -S 8 update-java-alternatives

http://tech.lanesnotes.com/2008/03/using-alternatives-in-linux-to-use.html

https://stackoverflow.com/questions/6477415/how-to-set-oracles-java-as-the-default-java-in-ubuntu

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1244.html,未经允许,请勿转载。