update-java-alternatives与update-alternatives --config java


96

在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开发?

Answers:


126

sudo update-alternatives --config java

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

sudo update-alternatives --config javac

配置默认的Java编译器。

您还可以看到,因为第一个命令列出了很多“ JRE”(Java运行时环境)文件夹,并且该程序仅称为“ java”。

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

但是,update-java-alternatives与JDK版本一起使用会对我来说改变了这两个程序。使用前几个命令,您可以使用来自不同JDK的Java VM和Java编译器。

update-java-alternatives要求在目录/ usr / lib / jvm中存在扩展名为.jinfo的文件。opendjk软件包附带有一个.jinfo文件,而Oracle(以前称为Sun)的jdk没有。作为替代方案,您可以配置没有update-java-alternatives的替代方案

例如,要从优先级2082的jvm目录/usr/lib/jvm/jdk-12.0.1(Oracle 的Debian软件包的默认目录)中添加Java ,请使用以下命令:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-12.0.1/bin/java 2082

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

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

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

对于2 .:在Eclipse中,您可以在Window-> Preferences-> Java-> Installed JRE中选择要使用的JRE / JDK。在Java->编译器下,您可以根据需要选择较早的Java兼容性。

编辑: 此DigitalOcean页面还对Ubuntu上与Java相关的所有内容进行了很好的解释。


15

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您必须使用与目录名称相同但以开头的隐藏文件。(点)。

希望这可以帮助。

参考书目

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.