zoukankan      html  css  js  c++  java
  • 添加tomcat开机启动服务时报错:Neither the JAVA_HOME nor the JRE_HOME enviromment variable is defined

    首先,参考的 https://blog.csdn.net/wabil/article/details/78818249 的方式添加 tomcat 开机启动,这种方式不需要添加 setenv.sh 文件,轻量级,非常方便,具体方式如下:

    1. 创建一个服务文件

    vim /lib/systemd/system/tomcat.service

    复制如下内容,修改后保存:
    [Unit]
    Description=tomcat
    After=network.target

    [Service]
    Type=oneshot
    ExecStart=/home/apache-tomcat-7.0.70/bin/startup.sh // 自已的tomcat目录
    ExecStop=/home/apache-tomcat-7.0.70/bin/shutdown.sh // 自已的tomcat目录
    ExecReload=/bin/kill -s HUP $MAINPID
    RemainAfterExit=yes

    [Install]
    WantedBy=multi-user.target

    2. 启动服务

    systemctl start tomcat.service

    执行这步的时候,始终报启动失败,执行下面步骤查看失败原因。

    3. 查看服务状态

    systemctl status tomcat.service

     没理由 JAVA_HOME 和 JRE_HOME 不存在啊,明明是存在的,检查一下发现确实是存在的:

    解决方法:

    方法1. 在 tomcat/bin/setclasspath.sh 中添加 JAVA_HOME 和 JRE_HOME 的指向(试了一下,不知道什么原因没搞成功)

    18 # -----------------------------------------------------------------------------
    19 #  Set JAVA_HOME or JRE_HOME if not already set, ensure any provided settings
    20 #  are valid and consistent with the selected start-up options and set up the
    21 #  endorsed directory.
    22 # -----------------------------------------------------------------------------
    23 #
    24 # JAVA_HOME=/usr/java/jdk1.8.0_171
    25 # JRE_HOME=/usr/java/jdk1.8.0_171/jre

     方法2. 在 tomcat.service 中添加 JAVA_HOME 和 JRE_HOME 的指向(推荐)

    Environment='JAVA_HOME=/usr/java/jdk1.8.0_171'
    Environment='JRE_HOME=/usr/java/jdk1.8.0_171/jre'

    此时再次执行服务启动命令 systemctl start tomcat.service 成功,服务运行状态如下:

     附完整的 tomcat.service 文件

    [Unit]
    Description=Tomcat
    After=network.target
    
    [Service]
    Type=forking
    Environment='JAVA_HOME=/usr/java/jdk1.8.0_171'
    Environment='JRE_HOME=/usr/java/jdk1.8.0_171/jre'
    ExecStart=/opt/my/tomcat/bin/startup.sh
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/opt/my/tomcat/shutdown.sh
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target

     4. 设置为开机启动

    systemctl enable tomcat.service
  • 相关阅读:
    a标签跳转新页面
    js或jquery实现页面打印(局部打印)
    js实现点击定位最顶端
    js实现pdf对页面的打印
    js动态创建input
    sha1加密算法
    JsonHelper修改4.0
    List<T>做数据源绑定的问题
    VS2013智能提示
    Newtonsoft.Json(Json.Net)学习笔记
  • 原文地址:https://www.cnblogs.com/xsbx/p/10173170.html
Copyright © 2011-2022 走看看