本人电脑上有两个免安装版的tomcat,其中一个是默认8080端口。我在另一个tomcat的server.xml文件中将端口改为8089.
然后我用startup.bat开启tomcat,结果发现启动的还是8080端口,并不是我改动的8089.
后来经过反复验证,终于找到了问题原因。
原因为:
本人曾为tomcat设置过环境变量tomcat_home、CATALINA_BASE以及CATALINA_HOME,这些环境变量指向了第一个tomcat,即8080端口的tomcat。
之后每次使用startup.bat启动tomcat就会自动寻找8080的那个tomcat。
将这些环境变量删除之后,就不会再发生端口不生效的问题了。