Qua*_*fan 23 java apache tomcat java-home windows-7
当我尝试使用tomcat运行时startup.bat出现以下错误,
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
Run Code Online (Sandbox Code Playgroud)
但后来我试着C:\>echo %java_home%得到以下结果
C:\Program Files\Java\jdk1.6.0_25\bin
Run Code Online (Sandbox Code Playgroud)
我甚至尝试JAVA_HOME手动设置系统变量列表,但这个问题仍然存在.
我该怎么做才能解决它?
我使用的是Windows 7.
设置一个名为JAVA_HOME的新系统变量并设置其路径后"C:\Program Files\Java\jdk1.6.0_25\bin\",我再次尝试启动脚本,这次我收到一个新错误.
D:\Work\apache-tomcat-6.0.35\bin>startup.bat
Files\Java\jdk1.6.0_25"" was unexpected at this time.
Run Code Online (Sandbox Code Playgroud)
知道这个错误意味着什么吗?
我甚至尝试将路径设置为"C:\Program Files\Java\jdk1.6.0_25\"(没有bin)但发生了同样的错误.
Mat*_*zyk 28
尝试在其他地方安装java - 在没有空格的目录中.再次设置JAVA_HOME变量并重试.我记得Tomcat在Window XP上有一些问题,如果在启动包含空格时使用了任何变量.也许它与Windows 7类似.
我记得我必须更改处理Tomcat启动的Tomcat java类中的一些行.
@Edit:卢西亚诺打败我注意到它,但你也应该bin从中删除JAVA_HOME
@Edit:我还记得另一个修复(虽然我自己没有测试)是设置JAVA_HOME为速记版本,例如C:\Progra~1\Java\jdk1.6.0_25
Luc*_*ano 19
我认为你的JAVA_HOME应该指向
C:\Program Files\Java\jdk1.6.0_25
Run Code Online (Sandbox Code Playgroud)
代替
C:\Program Files\Java\jdk1.6.0_25\bin
Run Code Online (Sandbox Code Playgroud)
也就是说,没有bin文件夹.
UPDATE
如果我像你一样用引号设置JAVA_HOME,那么我会看到这个新错误.你用引号吗?如果是这样,请删除它们.
小智 8
在JAVA_HOME或JRE_HOME的任何环境变量的末尾避免使用分号
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_25\bin
Run Code Online (Sandbox Code Playgroud)
和
JRE_HOME=C:\Program Files\Java\jdk1.6.0_32\jre
Run Code Online (Sandbox Code Playgroud)
应如图所示......
我安装了Win 8 x86.我的Path变量有条目C:\Program Files\Java\jdk1.6.0_31\bin,我也有以下变量:
JAVA_HOME : C:\Program Files\Java\jdk1.6.0_31;JRE_HOME : C:\Program Files\Java\jre6;我的tomcat安装在 C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.41
它仍然不适合我.
我尝试用Program Files这些路径替换Progra~1.我还尝试将JAVA移动到另一个文件夹,以便它的完整路径不包含任何空格.但没有任何效果.
最后,对我有用的环境变量是:
Program FilesieC:\Program Files\Java\jdk1.6.0_31\binJAVA_HOME : C:\Program Files\Java\jdk1.6.0_31JRE_HOME所以我所做的就是删除JRE_HOME并在结束时删除分号JAVA_HOME.我认为分号应该不是问题,尽管我删除了它.我正在给这些设置,因为经过大量的谷歌搜索没有任何对我有用,突然这些似乎工作.您可以复制并查看它是否适合您.
这也适用于Win 7 x64,其中
C:\Program Files (x86)\Java\jdk1.7.0_17\binJAVA_HOME设置为C:\Program Files (x86)\Java\jdk1.7.0_17(不带分号)请告诉我为什么这有效,我知道删除JRE_HOME是一个奇怪的解决方案,但任何猜测它有什么不同?