Eclipse运行Tomcat的方式及转IntelliJ后的Tomcat启动问题
问题解决步骤
方案1:替换为64位Tomcat Native库
- 下载与你的Tomcat版本匹配的64位
tcnative-1.dll(对应Tomcat官方Native组件) - 替换Tomcat安装目录
bin下的原有32位dll文件
方案2:指定IntelliJ用32位JVM启动Tomcat
- 打开Run/Debug Configurations,选中你的Tomcat配置
- 切换到「JRE」标签,选择本地安装的32位JDK/JRE
方案3:禁用APR生命周期监听器
- 编辑Tomcat的
conf/server.xml文件 - 注释掉APR监听器的配置行:
<!-- <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> --> - 保存后重启Tomcat,此时Tomcat会切换到NIO模式运行,不再加载tcnative-1.dll
差异原因说明
Eclipse通过javaw.exe以嵌入式方式启动Tomcat,默认可能未启用APR组件,或者Eclipse使用的是32位JVM,刚好适配你现有32位的tcnative-1.dll;而IntelliJ默认调用catalina.bat启动独立Tomcat进程,会默认加载APR库,当系统是64位、JVM也是64位时,就会出现32位dll无法加载的错误。
内容的提问来源于stack exchange,提问作者dscham
相关产品推荐
相关产品推荐

