我在我的新CentOS上安装了两个JAVA JRE,因为Cassandra需要java7u25或更高版本,而iReport需要使用1.6.
现在,如何从命令行启动每个程序,告诉每个程序使用哪个版本?
我是否必须更改/ etc / profile文件?如果是这样的话?
解决方法:
在$PATH中同时使用它们是没有意义的,因为只有一个会被使用.您可以将一个符号链接到另一个名称 – 例如java6 – 我从来没有试过这个w / java并且不确定它是否可行.
最好的方法是在/ opt / java6这样的位置安装其中一个(大概是1.6),默认为1.7.然后当你想使用6:
export PATH=/opt/java6/bin:$PATH
并从命令行启动它.您也可以将所有这些放在一个脚本中.除非你从$PATH中删除它,否则不要尝试从同一个shell运行Cassandra(简单的方法是检查echo $PATH).
要为一个特定应用程序自动执行此操作:
#!/bin/sh
export PATH=/opt/java6/bin:$PATH
exec /path/to/application
然后你可以把它放在常规的$PATH(例如/usr/local/bin)中,确保它是可执行的(chmod 755 whatever.sh)并以这种方式启动应用程序.然后它将不会影响启动它的过程中的$PATH.
标签:java,centos,jdk
来源: https://codeday.me/bug/20190810/1637337.html