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
  • 相关阅读:
    归档模式与非归档模式之间的转换
    Cognos 常见错误解决办法
    Informatica 错误信息解决办法汇总
    转摘:解决动态列固定行月季年组合式报表
    数据库名、实例名、全局数据库名、服务名的区别
    转摘:维度与指标混合嵌入(合计)设计
    WinForm使用XML动态加载多语言
    windows中最重要的三个动态链接库及功能
    什么是.Net的异步机制(Invoke,BeginInvoke,EndInvoke) step 2
    深入理解.net服务器控件
  • 原文地址:https://www.cnblogs.com/xsbx/p/10173170.html
Copyright © 2011-2022 走看看