【问题标题】:JDK environment variable ( Ubuntu 12.04) with tomcat带有 tomcat 的 JDK 环境变量(Ubuntu 12.04)
【发布时间】:2013-09-12 05:25:43
【问题描述】:

在 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)

【问题讨论】:

    标签: java tomcat ubuntu


    【解决方案1】:

    其实这很简单。

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

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

    【讨论】:

      【解决方案2】:

      尝试在tomcats bin文件夹中设置setenv.sh中的变量。那就是你为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 为你的应用程序。

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

      因您的评论而更新:

      问题是如果你使用sudo/etc/profile 没有加载。

      你可以这样测试:

      # 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:
      

      你会看到环境。 var 未设置。

      更新 2:

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

      【讨论】:

      • 这样用,当我换jdk时,我需要编辑两个文件。如何使用一个文件?谢谢你的回答。
      • sudo 未从 /etc/profile 读取。我调整了答案
      【解决方案3】:

      如果您使用 Ubuntu 存储库随附的软件包,则无需修改任何内容即可运行 tomcat。

      只需输入sudo apt-get install tomcat7。这将安装 tomcat7 以及所有需要的依赖项。

      如果你不需要的话,我建议不要手动安装任何东西(没有软件包系统)。

      【讨论】:

      • 我使用oracle jdk。我安装 jdk 和 tomcat 使用 zip.gz 并使用 sudo apt-get install tomcat7 这个依赖项包含 openjdk 而不是 oracle jdk 谢谢你的回答
      猜你喜欢
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-06
      • 2016-02-08
      相关资源
      最近更新 更多