XAMPP里tomcat启动报错:Make sure you have Java JDK or JRE installed and the required ports are free
以前用 XAMPP 的时候就是自然而然装好了就可以用,最近重装了新系统,打算在 Windows 10 里面配置 Apache tomcat、PHP、MySQL 的开发环境,迟迟试验不成功,于是直接用了 XAMPP,没想到也报错,尴尬至极下定决心要解决这个问题。
这是报错提示:Make sure you have Java JDK or JRE installed and the required ports are free
想到这个 start 应该是启动了 tomcat 相关的一个命令行脚本,于是我跑到 tomcat 的目录下看到了名为 catalina_start.bat 的脚本,想想应该是运行的这个脚本了。
双击运行该脚本,发现报错如下
提示是 JDK 和 JAVA_HOME 环境变量没有配置好,于是我就去设置系统环境变量,弄了半天也没有解决该问题。。。
为了验证我确实是配置成功了 JAVA 环境变量,我在命令行里输入: java -version,反馈结果如下:
这证明了,我在本机上的 JAVA 环境变量是配置成功的。。。可是为什么通过 XAMPP 的控制台启动不了 tomcat 呢?
我决定去试试 tomcat 本身是否配置成功,于是跑到 tomcat/bin/ 目录下启动 tomcat
没有任何报错,看样子启动成功了,我打开了 localhost:8080 确认是否启动成功,效果如下:
这 TM 居然真的没错!那么问题来了:JAVA 环境配置无误,tomcat 配置无误,最后通过 XAMPP 来启动就无法启动了,那么一定是脚本本身的问题了。
于是一怒之下,我直接点开了 catalina_start.bat 脚本,查看源代码。
框起来的部分就是报错部分,大意就是去注册表中查看了一下数值,但是发现跟预想的不一样,就直接输出报错,结束运行了。
我查看了一下系统注册表,发现没有 JavaSoft 目录,所以运行到这儿的时候就会报错,结束运行。
鉴于 JAVA 环境和 tomcat 配置都是无误的,所以只要脚本代码能够正常运行完毕,tomcat 应该就能正确启动。
于是我按照脚本中所述在该注册表目录下添加了项 JavaSoft\Java Development Kit,再通过 XAMPP 控制台运行 tomcat,结果如下:
总算正常了!