为什么我不能将JAVA_HOME和JRE_HOME设置为其他东西?

时间:2011-03-24 18:53:43

标签: java ubuntu environment-variables administration system

我正在运行ubuntu和djatoka(在tomcat中运行)不能与OpenJDK一起使用。所以我将JAVA_HOME和JRE_HOME设置为我下载并导出变量的Sun java。当我启动tomcat时,它会将JRE_HOME报告给我设置的内容。

然而,当我实际查看变量时,他们指向OpenJDK并且djatoka无效。我找不到任何硬编码的地方,即使我在catalina.sh中删除变量赋值并从那里导出,也会发生同样的事情。

到底发生了什么事?谢谢,

凯尔

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您使用的是哪种操作系统?尝试确保为整个系统而不是用户设置这些环境变量。

答案 2 :(得分:1)

Ubuntu使用了一个有线连接的alternatives系统。 / usr / bin中的程序指向/ etc / alternatives,然后转到/ usr / share / jdk-something。

有一种简单的方法:卸载OpenJDK和GCJ。但是你可能会遇到依赖问题。

或阅读有关替代系统的信息。

man update-alternatives 

应该有所帮助。这并不难。有点复杂 - 就是这样。

我应该补充一点,替代系统的好处是,您可以并行安装多个java(1.5,1.6,1.7 alpha,OpenJDK)并使用一个命令切换所有链接 - 到java,javac, appletviewer,javap等。不要忘记CLASSPATH,afaik。从1.6.23到1.6.24的更新由Ubuntu完美处理。但是将链接追溯到它们的根目录是很烦人的。

替代方案甚至还有一个Java快捷方式:

update-java-alternatives --help