本人用的Jeecg-boot 3.4.4最新版本打war包,按照官方文档war部署方式改了之后,启动tomcat就报如下错
09-Dec-2022 15:08:01.902 警告 [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web应用程序[jeecg-system-start-3.4.4]似乎启动了一个名为[JustAuth-Task-1]的线程,但未能停止它。这很可能会造成内存泄漏。线程的堆栈跟踪:[ sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:748)]
废话不多说,直接上解决方案:
换Tomcat 9版本启动!换Tomcat 9 版本启动!换Tomcat 9版本启动!
一开始想的可能是程序代码问题,后来从github上重新拉了一份干净的框架,打war包Tomcat启动还是如此,甚至换到JEECG-BOOT 2.x版本还是报这个错
我也在网上搜了各种解决方案,什么添加监听器,外部引用的jar包没打到war里面,都无效!为这个问题浪费我一天时间呜呜。。。
想着不可能是程序代码问题啊,无奈情况下换了tomcat版本,抱着试试的心态看竟然正常启动了:
Tomcat默认中文是乱码的,如果想要修改中文编码有两步:
1、打开tomcat的/conf/server.xml,给它显示的增加编码方式
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
2、将日志的编码格式也修改一下,打开tomcat的\conf\logging.properties。
标签:java,SpringBoot,Tomcat,util,concurrent,报错,war,ThreadPoolExecutor From: https://www.cnblogs.com/lasding/p/16969096.html