【问题标题】:Why can't I set JAVA_HOME and JRE_HOME to something else?为什么我不能将 JAVA_HOME 和 JRE_HOME 设置为其他值?
【发布时间】:2011-03-24 18:53:42
【问题描述】:

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

但是,当我实际查看变量时,它们指向的是 OpenJDK,而 djatoka 无法正常工作。我找不到任何对其进行硬编码的地方,即使我将变量分配放在 catalina.sh 中并从那里导出,也会发生同样的事情。

这到底是怎么回事?谢谢,

凯尔

【问题讨论】:

  • 后来我发现有一行在我导出变量后正在重置它。但是 /etc/environment 修复在我发现之前仍然有效。

标签: java ubuntu environment-variables administration system


【解决方案1】:

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • Ubuntu 10.04.2 我以 root 身份执行此操作,所以我认为只需以用户身份从命令行启动即可。但是当我看到你的答案时,我将这些值添加到 /etc/environment 并且一切正常。谢谢。
    【解决方案3】:

    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
    

    【讨论】:

    • 我故意没有卸载 OpenJDK,因为我希望有一个更简单的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2012-06-22
    相关资源
    最近更新 更多