windows系统服务tomcat自定义配置解决方案

    技术2023-06-28  81

    关于免安装tomcat.zip 安装成系统服务后无法读取catalina.bat里面的自定义配置解决方案。

    一、出现问题

    昨天在给客户在tomcat部署系统的时候出现的bug。 服务器:windows server 2008 R2 tomcat:9.0.30 问题是出现编码上面。当tomcat通过系统服务运行后,在请求传中文参数到后端的时候,报了个jsonParseException: Invaild UTF-8 middle byte 03xf。一波百度知道了解决办法: 1.要在catalina.bat里面加一个配置:set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8 2.要在conf/server.xml文件里面关于服务器连接配置里面加入:URIEncoding=“UTF-8” 于是抱着一颗慌张心进行了修改。

    修改完之后我发现然并卵。不起作用?于是有百度了一波。。。 发现install成系统服务后系统是直接通过Tomcat9.exe启动服务。没有通过catalina.bat start/run进行启动服务。 于是验证了一下。发现直接通过命令行startup.bat启动的服务完美的解决了编码不一致的问题。

    二、分析问题

    整理下思路,现在的问题就是tomcat系统服务没法读取catalina.bat的里面的自定义配置。 那就只能另寻他路了。只能在tomcat9.exe上下手。 作为一个面向百度编程的小菜鸡,就又百度了一波。发现了一个信息:

    Tomcat9.exe可以把Tomcat加入服务; Tomcat9w.exe是一个监控和配置Tomcat服务的图形界面应用程序。

    三、解决方案

    1.首先要先将你的tomcat配置成系统服务(这里就不多说了):bin目录下运行service.bat install。 2.在tomcat的bin目录下运行Tomcat9w.exe //ES。进入编辑界面: 3.然后在java选项中的java options里加入你的自定义配置: 4.点击应用->确定,然后在系统服务中重启tomcat服务。 这样,系统服务的tomcat就能使用自定义的配置了。(网上看到的一些关于jvm内存的一些类似配置也是这样配置的。)

    四、最后希望这篇博客能帮到你^_^

    Processed: 0.010, SQL: 9