海纳百川 - Tomcat
type: channel
link: http://hnbc.info/index.php/category/tomcat/
items: IDEA中使用Tomcat进行Debug时，Unable to open debugger port错误解决
items: Idea中Tomcat Server output输出中文乱码问题解决

IDEA中使用Tomcat进行Debug时，Unable to open debugger port错误解决
type: item
date: 2020-06-12T08:32:57+00:00
description: 使用IDEA过程中，碰到了这个菜鸟级别的问题，不过鉴于我第一次使用，还是记录下。问题IDEA新建了Web 应用，在配置了Tomcat后，直接运行没有问题，正常启动了，但是使用调试运行过程中，出现了无法打开Debugger port的问题。15:11 Error running 'Tomcat 9.0.36': Address localhost:8080 is already in use 15:11 Error running 'Tomcat 9.0.36': Unable to open debugger port (127.0.0.1:8123): java.net.SocketException "Interrupted function call: accept failed"因为在左下角弹出了错误提示，只有上面的第二个错误信息，以为是那个8123的端口被占用，来来回回改了好几个都一样。后来点开了日志，才发现是8080被占用了。解决方案方案一知道了问题就好办了，这个端口明显是tomcat配置的，打开tomcat安装目录，找到conf/server.xml。修改其中的<Connector port="9888" protocol="HTTP/1.1"将port端口修改一个未被占用的，保存后重新debug就可以了（还是不行，可以重启tomcat服务试试）。方案二查找占用了8080端口的进程，结束掉。该方法简单暴力，但最好确认占用端口的进程是否可以随意结束。

Idea中Tomcat Server output输出中文乱码问题解决
type: item
date: 2020-06-12T06:07:00+00:00
description: 背景最近想学习使用下Java，下载了IDEA，配置了tomcat后，发现输出的日志信息，竟然是中文乱码，如下图所示，起初以为是IDEA的编码问题，Setting里设置了各种编码和语言，并没有起作用。经过网上搜了相关文章，但是试了几个并没有起作用。其中大部分是修改IDEA中Setting里面相关设置。后来突然意识到，这应该是Tomcat输出的日志信息本来就是乱码造成的，于是有了如下解决办法。解决在Tomcat安装目录下，找到conf/logging.properties文件，打开后，找到 java.util.logging.ConsoleHandler.encoding的配置项，将其值修改为GBK即可。修改前:java.util.logging.ConsoleHandler.encoding = UTF-8修改后：java.util.logging.ConsoleHandler.encoding = GBK解释根据字面意思，很容易猜出来，改配置项是设置的tomcat控制台输出的log文本的编码，正是我们出现中文乱码的地方。