我正在尝试设置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更改为导出JAVA_HOME = / usr / lib / jvm / jre-1.6.0-openjdk / bin,尝试启动tomcat但无法找到服务器。
如何找到安装java的位置?我自己没有安装它;它是在linux安装过程中安装的。
提前致谢, 麦克
答案 0 :(得分:9)
export JAVA_HOME=/usr
应该这样做。该脚本运行$JAVA_HOME/bin/java
答案 1 :(得分:3)
严格正确的答案是:
export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk
问题在于,在典型的Linux系统上,您可以通过java
命令创建/管理的符号链接访问alternatives
命令(等)。这允许您在系统范围内选择默认情况下应该使用哪个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。