在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 -version
要么
javac -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相关的所有内容进行了非常好的解释.
标签:java
来源: https://codeday.me/bug/20190807/1608291.html