在JAVA EE方面开启一轮新的学习,首当其冲第一步当然是配置环境了,在接触更多程序的过程中系统安装的软件也随之增多,记住每一项软件的安装路径是一件难以办到的事,若想在某一软件路径下运行程序,稍显乏力。配置环境变量成了当仁不让的首要问题,毕竟Windows中的环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到电脑中指定的路径去找。通过设置环境变量,能够去更好的运行进程。
问题(一)
然而本人在配置maven的环境变量时就触及到了这个首要问题,在配置pom文件时,检测maven是否和系统当下使用的是否为同一JDK版本发现有误。
如图可见检测JAVA版本时显示使用为JDK10,而在mvn处显示则为JDK16。一开始不得其解,采用了自认为最简单的方式即将JAVA16的安装包重新安装了依次,检测结果依旧不变;随机我找到了原来设置的JAVA_PATH和Path中所使用的路径并与JDK16的路径进行了对比发现并无错误,所以问题也并不在此;正所谓经验之道还得看过来人,在我自己简单尝试无果之下进行了一番关键词搜索,
找到了最终的解决方案。
事实上,只要将这里原本环境变量的Path中,%JAVA_HOME%的变量移到最顶端采取最优先运作,将原本无从更改的jJDK10版本覆盖的原理,就能够解决这一问题,再一次从命令行检测maven和JDK的版本,就能发现二者所使用的的JDK版本均为JDK16,在后来我也思考之前版本不同的原因,或许是因为maven所配置的环境变量中也联系到了之前配置的JAVA_PATH的环境配置,而在当时我的路径下设置的是JDK16的根目录,所以才会出现此错误。
(未更改环境变量为置顶时路径似乎并没有生效)
(更改后)
问题(二)有关于"Starting Tomcat v9.0 Server at localhost` has encountered a problem"。
在完整的配置好环境保证程序的运行之后,自然开启了我对eclipse for JEE的第一次测试,然而运行tomcat的时候弹出了报错的弹窗,原因是8005等网络端口号被其他应用占用,需要切断这些弹错中所出现的应用程序对网络端口的占用,才能顺利进行tomcat的运行。
根据报错的内容可以看到既然是对程序占用网络端口的报错,那么在这里我所学到的解决方式即是跟从报错中所指出的被占用端口的端口号,首先通过cmd命令行: netstat -ano 指令来查看所有连接的监听窗口。
然后根据所需要跟进的端口号,记录下上述查询结果中的最后一行数字,即PID。使用: tasklist|findstr PID 的命令根据PID查找对应进程名字(在查询监听端口时发现所有被占用的端口都指向同一个PID)
最后一步只要将这项占用网络端口的应用程序关闭就可以了!使用: taskkill /f /t /im 进程名 的命令来结束进程。
再次运行tomcat,发现端口已经不再被占用,程序正常运行,大功告成。