1. 程式人生 > 其它 >SpringBoot打war包,放Tomcat部署啟動報錯

SpringBoot打war包,放Tomcat部署啟動報錯

本人用的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。