背景
一直以来习惯用docker配置一些本地学习环境,许多教程配置activiti的方式都是通过复制activiti的war包在tomcat中,我尝试了一下通过docker的方式遇到了一些不易察觉的错误。
使用方式描述
- 使用docker安装tomcat9.0
docker run -d -p 8080:8080 --name tomcat tomcat:9.0
复制activiti的war包
浏览器访问404
分析
- 使用docker desktop view detail(根据tomcat的版本不同也会有其它的类的classnotfoundexception)
caused by: java.lang.classnotfoundexception: javax.xml.bind.jaxbexception
at org.apache.catalina.loader.webappclassloaderbase.loadclass(webappclassloaderbase.java:1412)
at org.apache.catalina.loader.webappclassloaderbase.loadclass(webappclassloaderbase.java:1220)
... 186 more
- 进一步查看tomcat的log日志初步猜测是jdk版本问题。
查看tomcat容器环境变量
查看凯发真人娱乐官网文档得知需要jdk1.7 ,也许jdk17过高,切换成jdk8也许可以。
使用jdk8的tomcat,直接使用tomcat7.0的镜像。