Error:NB:JAVA_HOME should point to a JDK not a JRE

本文提供了两种解决Tomcat启动问题的方法。第一种方法通过修改startup.bat文件并使用bootstrap.jar启动Tomcat;第二种方法则是在startup.bat文件中指定JDK版本以确保Tomcat使用正确的Java环境。

解决办法1:


检查环境变量信息如下:
JAVA_HOME
D:\Java\jdk1.5.0_12;



CATALINA_HOME
D:\tomcat_6.0.14


classpath
.;%JAVA_HOME%\lib;%CATALINA_HOME%\lib;
配置均未出现错误。



解决方法:
编辑D:\tomcat_6.0.14\bin路径下的startup.bat文件,在@echo off
if "%OS%" == "Windows_NT" setlocal 后加一句:
java -jar -Duser.dir="d:\tomcat_6.0.14" "d:\tomcat_6.0.14\bin\bootstrap.jar" start
保存,运行startup.bat,搞定。


住:这种方式是通过bootstrap.jar来启动tomcat的,所以不会执行java -jar -Duser.dir="d:\tomcat_6.0.14" "d:\tomcat_6.0.14\bin\bootstrap.jar" start后面的代码。你如果在后面有做相应的设置将不起作用。


解决办法2:


直接在startup.bat文件中指定jdk版本,如下:

在文件中加入:


set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_13

set JRE_HOME=C:\Program Files\Java\jdk1.6.0_13


//此句上方

if "%OS%" == "Windows_NT" setlocal

 

住:这种方式可使用指定的JDK来自启动tomcat,这方式适合同时运行着多种应用的服务器,而且个个应用的运行环境不一样的情况。

 

┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# docker ps | grep tomcat 36b27b0f2c1f tomcat:8.5.94 "catalina.sh run" 14 minutes ago Restarting (1) 23 seconds ago tomcat8-target ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# # 直接访问容器内日志(示例容器ID: 36b27b0f2c1f) ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# docker exec -it 36b27b0f2c1f ls /usr/local/tomcat/logs Error response from daemon: Container 36b27b0f2c1fdf7a1036fc26ae6a17faef2def332e726af1afe2ffaeeef36b12 is restarting, wait until the container is running ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# # 在容器内执行grep ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# docker exec 36b27b0f2c1f grep "ERROR" /usr/local/tomcat/logs/catalina.out Error response from daemon: Container 36b27b0f2c1fdf7a1036fc26ae6a17faef2def332e726af1afe2ffaeeef36b12 is restarting, wait until the container is running(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# # 查看实时日志流 (-f 参数) ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# docker logs -f 36b27b0f2c1f The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE The JAVA_HOME environment variable is not defined correctly JAVA_HOME=/usr/local/openjdk-8 This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# # 过滤特定内容 ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# docker logs 36b27b0f2c1f | grep "Exception" ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# # 导出全部日志到文件 ┌──(root㉿kali)-[/opt/vulhub/tomcat/tomcat8] └─# docker logs 36b27b0f2c1f > tomcat_full.log
最新发布
10-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值