今天在部署一个新项目,配置好idea、tomcat、jdk,启动时抛出如下错误:
WARNING: The APR based Apache Tomcat Native library failed to load. The error reported was [D:\Tomcat7\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform]
java.lang.UnsatisfiedLinkError: D:\Tomcat7\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
在网上查了一下,字面上的意思是不能在32位的平台上加载64位AMD架构下的dll文件,大概是jdk的位数和tomcat的位数不匹配导致的。tomcat的位数不知道怎么查看,但我记得是64位的,因为当时我是按照本机64位的架构来下载的。
然后查了一下本机安装的jdk信息,如下
D:\jdk1.7.0\bin>java -version
1java version "1.7.0"
2Java(TM) SE Runtime Environment (build 1.7.0-b147)
3Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)
可以看到,输出信息的第三行“(TM)”后面是没有标明是多少位的,说明是默认32位的。
去官网下了个64位的,重新装好,再次查看版本信息,如下
D:\Jdk7\bin>java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
换好jdk,去idea重新配置jdk,重启项目,问题解决。