SpringBoot打war包,放Tomcat部署啟動報錯
阿新 • • 發佈:2022-12-09
本人用的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。