JDK环境变量(Ubuntu 12.04)与tomcat

时间:2013-09-08 16:40:11

标签: java tomcat ubuntu

在Ubuntu中,我设置了jdk环境(JAVA_HOME,JRE_HOME),而java -version可以使用。 但我可以启动tomcat。一些信息:

  • 未定义JAVA_HOME和JRE_HOME环境变量
  • 运行此程序至少需要其中一个环境变量

环境设置 / etc / profile

JAVA_HOME=/opt/jvm/java/jdk1.7.0_25
JRE_HOME=/opt/jvm/java/jdk1.7.0_25/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME
export JAVA_HOME
export JRE_HOME
export PATH

日志

sunshanming@sunshanming-vm1:~$ sudo /opt/apache-tomcat-7.0.42/bin/startup.sh 
[sudo] password for sunshanming: 
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
sunshanming@sunshanming-vm1:~$ echo $JAVA_HOME
/opt/jvm/java/jdk1.7.0_25
sunshanming@sunshanming-vm1:~$ echo $JRE_HOME
/opt/jvm/java/jdk1.7.0_25/jre
sunshanming@sunshanming-vm1:~$ java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

3 个答案:

答案 0 :(得分:7)

尝试在tomcats setenv.sh文件夹中的bin中设置变量。那就是你为tomcat指定环境的地方。

只需在 tomcat / bin / setenv.sh

中创建此文件即可
#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
export CATALINA_OUT=/var/log/tomcat/catalina.out
export CATALINA_PID=/var/log/tomcat/catalina.pid

您还可以指定其他环境。 vars适合你申请。

注意:默认情况下,它们不会创建此文件。否则它将在更新时被覆盖。

因您的评论而更新:

问题是,如果您使用/etc/profile,则未加载sudo

你可以这样测试:

# Write a variable SMALLTEST into the profile file
sudo su -c "echo \"export SMALLTEST=Hello World\" >> /etc/profile"

# create a small script (like your startup.sh) that read the variable
echo "echo Variable is set to: \$SMALLTEST" > smalletst
chmod  +x smalletst 

# Execute the script with sudo
sudo ./smalletst 
Variable is set to:

你看到了env。 var未设置。

更新2:

如果您想让tomcat作为服务运行,您应该查看/opt/tomcat/bin/daemon.sh脚本。你可以把ti /etc/init.d/tomcat并指定你的环境。在setenv.sh。

答案 1 :(得分:1)

使用Ubuntu,如果使用Ubuntu repo附带的软件包,则无需修改任何运行tomcat的内容。

只需输入sudo apt-get install tomcat7即可。这将安装tomcat7所有必需的依赖项。

如果您不需要,我建议不要手动安装任何(没有包系统)。

答案 2 :(得分:0)

实际上这很简单。

在startup.sh和shutdown.sh中,只提供JAVA_HOME系统变量值 -

导出JAVA_HOME =" /home/mxdev/java_stack/jdk1.8.0_77"