JAVA_HOME:java安装在哪里

我正在尝试设置JAVA_HOME以使tomcat 7无法正常工作。

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

哪个java / usr / bin / java

所以我编辑了.bash_profile,我补充道

export 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以导出JAVA_HOME = / usr / lib / jvm / jre-1.6.0-openjdk / bin,尝试启动tomcat但无法找到服务器。

我如何找到安装java的位置? 我自己没有安装它; 它是在linux安装过程中安装的。

先谢谢你,迈克

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

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

 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。