【问题标题】:JAVA_HOME : where is java installedJAVA_HOME : java 安装在哪里
【发布时间】:2012-12-03 00:53:38
【问题描述】:

我正在尝试设置 JAVA_HOME 以使 tomcat 7 无法成功运行。

我使用的是 CentOS 6.3。这是我到目前为止所做的:

哪个java /usr/bin/java

所以我编辑了 .bash_profile,我添加了

导出 JAVA_HOME=/usr/bin/java

没用。我在网上搜索并在stackoverflow上找到了另一个用户,他在/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin/java

我在我的电脑上搜索,发现java位于/usr/lib/jvm/jre-1.6.0-openjdk/bin

然后我将 JAVA_HOME 更改为 export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk/bin ,尝试启动tomcat但找不到服务器。

如何找到 java 的安装位置?我不是自己安装的;它是在安装 linux 时安装的。

提前致谢, 迈克

【问题讨论】:

  • 你是如何尝试启动tomcat的?发布你得到的错误。
  • JAVA_HOME 是包含bin 目录的目录,在本例中为/usr/lib/jvm/jre-1.6.0-openjdk。
  • 我 cd 进入 tomcat 被提取到的目录,然后我输入 bin/startup.sh 我被告知启动 2 个终端。在第一个中输入 tail -f /server/apache-tomcat-7.0.33/logs/catalina.out 然后移动第二个终端并输入 bin/startup.sh 我得到了这个 /server/apache-tomcat-7.0.33/ logs/catalina.sh:第 389 行:/usr/bin/java/bin/java:不是目录我将 JAVA_HOME 更改为导出 JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk,它不起作用

标签: java tomcat


【解决方案1】:

export JAVA_HOME=/usr 应该这样做。脚本运行$JAVA_HOME/bin/java

【讨论】:

  • 谢谢!它终于奏效了,但现在如果我输入 localhost.com:8080 ,我会遇到另一个问题,我找不到服务器。如果我输入 127.0.0.1:8080 ,将显示 Apache 软件基础页面。此计算机未连接到互联网。
  • 您的意思是 localhost.com:8080 还是 localhost:8080?
  • 这样就行不通了。 localhost.com 不是你的机器,它是一个真实的域。你可能想访问 localhost:8080
  • 是的,“localhost.com”不正确。您应该使用“localhost”或“127.0.0.1”。
  • 只是出于好奇,如果我想让它在本地工作,我需要做的只是设置一个 dns 吗?我不在乎它是 localhost.com 还是其他任何东西。我只是好奇 .com 域的设置将如何工作。
【解决方案2】:

严格正确的答案是这样的:

export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk

问题在于,在典型的 Linux 系统上,您通过 alternatives 命令创建/管理的符号链接访问 java 命令(等)。这允许您在系统范围内选择默认使用哪些 java 安装;即通过/usr/bin中的命令。

第二个问题是 JAVA_HOME 环境变量应该指向 Java 安装目录。 “bin”目录是安装目录的子目录。 (看“/usr/lib/jvm/jre-1.6.0-openjdk”的内容!!)

虽然export JAVA_HOME=/usr/bin 可以用于定位命令,但如果Java 应用程序需要在安装中查找其他文件,它就不起作用;例如“rt.jar”文件。

这种“细微差别”对于 Tomcat 可能无关紧要,但对于使用 JAVA_HOME 约定的其他 Java 软件可能很重要。


脚注:如果您使用 Oracle Java for Linux 安装,默认安装目录将是子目录“/usr/java”。遗憾的是,Oracle 安装程序不理解 Linux“替代”系统。您要么必须手动注册每个 Java 命令的替代项(繁琐!!),要么将安装的“bin”目录添加到您的 PATH。

【讨论】:

  • 指向安装目录而不是 bin 的另一个原因是它使应用程序能够获取 /includes,其中包含使用 JNI 构建所需的文件
【解决方案3】:

/usr/bin 包含你所有的二进制文件;您的实际 JRE 或 JVM 可能安装在其他地方,因此您可以在 /usr/bin 运行一个简单的命令来获取 java 的实际位置。

ls -lrt

二进制文件可能看起来像 (soft links):

java -> /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin/java

好的;现在我们知道 java 安装在哪里,我们现在可以将 JAVA_HOME 导出到 bin 上方的一个文件夹,即 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/。

export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多