问题描述:
最近docker环境下配置logstash,在启动logstash后,报错mysql-connector-java的jar包找不到,提示TypeError: failed to coerce jdk.internal.loader.ClassLoaders$AppClassLoader to java.net.URLClassLoader。这个是因为logstash的容器环境内的JDK版本问题导致的,可以通java -version看看容器内的JDK版本是否为JDK1.8,如果不是,我们只需要将JDK版本卸载再重新安装JDK1.8即可成功运行
解决过程:
- 查看容器的id
docker ps
- 进入容器的交互界面
docker exec -it -u root 3e73d1f213fa /bin/bash
- 查看JDK版本
java -version
我这里是更换过的,如果不是JDK1.8就要更换到JDK1.8
- 卸载JDK
[root@localhost ~]# rpm -qa|grep jdk
copy-jdk-configs-3.3-10.el7_5.noarch