标签:java alternatives
我一直试图找出运行OpenJDK Java Runtime作为我的Fedora盒的默认Java的最佳方法,并使用Oracle JDK 6进行Android开发,即从Android Bundle运行Android SDK Manager,Android Studio和Eclipse.
我从Fedora存储库安装了OpenJDK Java Runtime,它具有以下设置备选方案.
[donnie@fedora ~]$alternatives --list | grep java
jre_openjdk auto /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre
jre_1.7.0 auto /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre
java auto /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/bin/java
libjavaplugin.so.x86_64 auto /usr/lib64/IcedTeaPlugin.so
我使用Oracle提供的rpm安装了Oracle JDK 6.
我可以让Android Bundle和Studio使用JAVA_HOME在Oracle JDK下运行,方法是在.bashrc中加入.
export JAVA_HOME=/usr/java/jdk1.6.0_45/
export PATH=$JAVA_HOME/bin:$PATH
我注意到Chrome仍然使用OpenJDK(因为我仍然需要链接插件).
JAVA_HOME和使用替代品有什么区别?
解决方法:
备择方案
替代方案是一种工具,可以使用替代工具控制下的链接来管理已安装软件的位置.
这些链接最终在/ etc / alternatives下管理,在$PATH中的目录下创建了中间链接,通常是/usr/bin.
例
$ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Feb 24 17:36 /usr/bin/java -> /etc/alternatives/java
$ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Feb 24 17:36 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.0.fc19.x86_64/jre/bin/java
$JAVA_HOME
$JAVA_HOME是可以通过使用环境变量来查看软件的地方.将它添加到$PATH只是将$JAVA_HOME / bin中的可执行文件添加到$PATH中.某些应用程序有时需要这样做.
这两种机制是相关的,但可以一起使用或彼此独立使用,它实际上取决于Java应用程序哪种机制更可取.
我所做的
我通常将$JAVA_HOME用于某些GUI应用程序,但通常仅用于使用Jetty,Tomcat或JBOSS的服务器安装.
对于这些安装,我仍然会在设置$JAVA_HOME之前使用替代方法来管理Java安装.在我可能需要多次安装Java的情况下,我喜欢这样做.
替代方案允许您使用某些工具使用一个Java安装,而其他工具使用完全不同的工具.
参考
> 5 Minute Guide to using the alternatives Command on Fedora/CentOS/RHEL
> Using ‘Alternatives’ in Linux to use a different Java package
标签:java,alternatives 来源: https://codeday.me/bug/20190809/1629943.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。