我在我的新 CentOS 上安装了两个 JAVA JRE,因为 Cassandra 需要 java7u25 或更高版本,而 iReport 需要使用 1.6。
现在如何从命令行启动每个程序,告诉每个程序使用哪个版本?
我必须更改/etc/profile
文件吗?如果是这样怎么办?
把它们都放在里面$PATH
是没有意义的,因为只有一个会被使用。您可以将一个符号链接到不同的名称——例如java6
——我从未尝试过使用 Java 进行此操作,并且不确定它是否可行。
执行此操作的最佳方法是将其中一个(大概是 1.6)安装在类似 的位置/opt/java6
,将 1.7 保留为默认值。然后当你想使用 6 时:
export PATH=/opt/java6/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
并从命令行启动它。您也可以将所有这些放在一个脚本中。之后不要尝试从同一个 shell 运行 Cassandra,除非您将其从$PATH
(检查的简单方法是echo $PATH
)中删除。
要针对一个特定应用程序自动执行此操作:
#!/bin/sh
export PATH=/opt/java6/bin:$PATH
exec /path/to/application
Run Code Online (Sandbox Code Playgroud)
然后您可以将它放在常规中的某个位置$PATH
(例如,/usr/local/bin
),确保它是可执行的(chmod 755 whatever.sh
)并以这种方式启动应用程序。然后它不会影响$PATH
启动它的过程。
归档时间: |
|
查看次数: |
15806 次 |
最近记录: |