环境
java: 1.8.0_231
springboot: 2.2.1
内置tomcat: 9.0.27
maven: 3.6.2
idea: 2019.2.4最新版
thymeleaf: 3.0.11
介绍 (两个项目)
第一个写了springSecurity和jwt,配置了druid(1.1.2)
项目启动正常,日志输出没有问题,访问页面,报错了ERROR logging.DirectJDKLog *log #175 -- Error running socket processor java.lang.UnsatisfiedLinkError: org.apache.tomcat.jni.SSL.renegotiatePending(J)I
第二个项目
只写了一个简单的页面,没有其余的任何没用的东西,同样启动没有问题,访问页面报一样的错
推测是tomcat版本问题,把springboot换成2.1.0,内置tomcat变成9.0.12,访问正常
又查到相关的话题是tomcat的tomcat-native版本问题,但是得不到更多的有用信息,也不知道怎么换版本。
对了,期间使用了外置的tomcat9.0.12,启动访问都没有问题,之前修改了tomcat的server.xml,配置成http转https,修改了web.xml,加了一些标签,如图。
之后又使用了外置的tomcat9.0.27部署,访问正常。
总结
springboot2.2.1,内置tomcat9.0.27,访问失败
springboot2.1.0,内置tomcat9.0.12,访问成功
springboot2.2.1和springboot2.1.0,外置tomcat,访问成功
推测是tomcat的web.xml配置的那几行标签起了作用,但是不敢妄断。
(空一行,以示敬重)
前辈们,咋办呢??
又试了一下,去掉外部tomcat9.0.27的web.xml的配置也可以正常运行,内置的相同版本不行,是不是找问题的方向错了,其他东西都没有配置,不一样的就是内部web.xml是通过ServletWebServerFactory设置的,但是设置成功了啊,http可以跳转到https。。。。。。。。。
望大佬指点????