古典 java tomcat server 专案 dockerize 踩坑全记录

如标题所述,这里分享的 java tomcat server 专案具有以下特点:

JDK 8 的开发环境非 maven 专案非 gradle 专案绝对不是 spring boot 专案 http://img2.58codes.com/2024/emoticon16.gif

http://img2.58codes.com/2024/20109107ZIZx3dNJdH.png

----- 以下开始採坑全记录!

MacBook-Pro ~ % docker run -d --name=tomcat-ithelp -p 8088:8080 tomcat:9.0-jdk8-openjdk 

http://img2.58codes.com/2024/20109107LhVGPc7ZLM.png
container 长出来后,兴沖沖地在 safari 键入 localhost:8088
http://img2.58codes.com/2024/20109107ibhNC7RwDp.png
http://img2.58codes.com/2024/emoticon20.gif

解决方法:

http://img2.58codes.com/2024/201091077ttFZ4zhwZ.png
http://img2.58codes.com/2024/201091077OUaDwqaNF.png
看起来正常了!http://img2.58codes.com/2024/emoticon12.gif
既然 docker image 是宣称 tomcat:9.0-jdk8-openjdk
http://img2.58codes.com/2024/20109107hGIJVU3u1w.png
确实是 java 8。http://img2.58codes.com/2024/emoticon12.gif
接下来把专案档 managerWeb.war 複製一份到 container 的 webapps 目录下。

MacBook-Pro ~ % docker cp ~/managerWeb/managerWeb.war tomcat-ithelp:/usr/local/tomcat/webapps

container log 喷错了!
http://img2.58codes.com/2024/20109107KmUqPlS1Ao.png
『 Failed to instantiate [com.mchange.v2.c3p0.ComboPooledDataSource]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError』

解决方法:

http://img2.58codes.com/2024/20109107e4oRHTl139.png

RESTART container 后,继续喷错!http://img2.58codes.com/2024/emoticon20.gif
http://img2.58codes.com/2024/201091074dLrYCrHnM.png
『com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure』

解决方法:

http://img2.58codes.com/2024/201091073kjx4uHuep.png

RESTART container 后,继续喷错!http://img2.58codes.com/2024/emoticon02.gif
http://img2.58codes.com/2024/20109107hvq8NGHleW.png
『Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext/applicationContext-sessionFactory.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.UniqueConstraint.name()Ljava/lang/String;』

经过google大神的指点后,
直接删除 WEB-INF/lib 下的 persistence.jar
http://img2.58codes.com/2024/20109107LUj4ojGuaR.png
总算 ... http://img2.58codes.com/2024/emoticon01.gif
http://img2.58codes.com/2024/201091074nUW7CPMS9.png

后记:
这篇主要是写给未来的自己看的。
未来再处理到这种 Jar 档没有控管的专案,只好耐心地把这堆有冲突的 Jar 档逐步移除了。
http://img2.58codes.com/2024/emoticon32.gif


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章