【问题标题】:Apache Tomcat - Ubuntu SetupApache Tomcat - Ubuntu 安装程序
【发布时间】:2016-07-29 19:14:46
【问题描述】:

为了让tomcat在我的ubuntu上运行,我下载了“apache-tomcat-8.5.4.tar.gz”-file

接下来我将其解压并移至其他位置:

tar -xvzf apache-tomcat-8.5.4.tar.gz
sudo mkdir -p /opt/tomcat
sudo mv apache-tomcat-8.5.4 /opt/tomcat/

我还在系统中添加了一些变量:

export JAVA_HOME=/usr/lib/java/jdk1.8.0_102
export CATALINA_HOME=/opt/tomcat/apache-tomcat-8.5.4
export PATH="$PATH:$JAVA_HOME/bin"

来源:

source .profile

当我跑步时:

java -version

正确打印:

1.8.0_102 .. etc

但是当我跑步时:

sudo $CATALINA_HOME/bin/startup.sh

失败并显示消息:

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

有人可以参考这个问题吗?

谢谢和问候!

【问题讨论】:

  • 你能运行“which java”来确保你从你期望的地方得到java命令吗?
  • 输出:“/usr/lib/java/jdk1.8.0_102/bin/java”,这是我下载并设置在变量JAVA_HOME中的jdk,为什么?
  • 我只是在验证。我觉得 sudo 没有选择您的环境 - 您是否尝试过以自己的身份运行 startup.sh? /opt/tomcat/apache-tomcat-8.5.4 中的目录“temp”、“webapps”、“logs”和“work”需要您可写。
  • 是的,我也从目录执行了“./startup.sh”:“/opt/tomcat/apache-tomcat-8.5.4/bin”,但同样的错误......

标签: java apache shell tomcat java-home


【解决方案1】:

尝试在您的 $CATALINA_HOME/bin/catalina.sh 中进行此配置:

JAVA_HOME=/usr/lib/java/jdk1.8.0_102

CATALINA_HOME=/opt/tomcat/apache-tomcat-8.5.4

将其作为文件的前两行,以便以后使用。

希望对你有帮助

【讨论】:

  • 谢谢你解决它!但我仍然不知道为什么我的方法不起作用
  • 因为您的 tomcat 用户与您正在加载配置文件的用户不同,所以不要让您看到所有用户的东西,通过放置这些行,您将使其同时适用于所有用户
【解决方案2】:

问题是您正在运行 sudo 并且环境设置不正确。

我会将以下导出添加到 /etc/environment 文件中,以便它们是系统范围的。

export JAVA_HOME=/usr/lib/java/jdk1.8.0_102 
export CATALINA_HOME=/opt/tomcat/apache-tomcat-8.5.4 
export PATH="$PATH:$JAVA_HOME/bin"

然后用 sudo visudo 编辑 sudoers 文件并将其添加到文件中:

Defaults env_keep += "JAVA_HOME CATALINA_HOME"

这将允许您运行 sudo 命令并正确设置环境。我不建议修改 catalina.sh 脚本。

【讨论】:

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