springboot 的项目每次在eclipse启动就报一下异常:
tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
忍受了一年多,终于看不惯要决心要解决它。
错误字面理解就是 32位的dll 运行在64位的平台导致不匹配,百度一下大部分解决方案也是换jdk版本,换tomcat版本。
排查过程如下:
1.jdk版本确定是64位
2.tomct版本确定是64位
3.eclipse版本确定是64位
这下蒙眼了,所有相关软件都是64位。
最终解决方案如下(二选一):
1.删除tomcat 的bin目录下的 tcnative-1.dll
2. tomcat官网上下载一个64位的tomcat,把tcnative-1.dll 替换本地文件
其中第2点百思不得其解,我目前tomcat的版本是apache-tomcat-8.5.12 ,新下载版本是 apache-tomcat-8.5.55 ,版本相差不大,我只能把这个锅甩给tomcat,猜测应该是tomcat旧版本的bug