SpringBoot启动debug级别日志报错Tomcat Native library could not be found using names [tcnative-1, libtcnative-1]
错误截图
原因
tomcat没有找到JNI动态链接库。Apache Tomcat下是有这个dll的,但是启动时在Springboot中内嵌Tomcat下没有找到。这是因为Tomcat中的connector为了提高性能,采用了加载与操作系统绑定(非跨平台)的本地库的方式,比如Windows系统中就是.dll动态链接库。上述异常中找不到的两个.dll库文件,默认会去Tomcat的bin目录下去找,但是由于SpringBoot的Tomcat是嵌入式的,没有这两个.dll。
解决办法
可以忽略这个报错,因此SpringBoot把这个错误的日志级别设置为debug。
如果有强迫症者,也可以按如下方式解决:
直接将tomcat下的tcnative-1.dll和libtcnative-1.dll放到C:\Windows\System32下,重新启动项目即可。可到官方地址下载:
http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.2.14/binaries/