最近公司要開發新項目,開發經理整了個框架扔給我,讓我跑跑看,於是就遇到問題了。
Tomcat啟動,報錯Can't load IA 32-bit .dll on a AMD 64-bit platform。
在網上百度了這個問題,說是jdk版本與tomcat版本不匹配,需要將tomcat的bin目錄下的tcnative-1.dll換成64位的就可以,於是從E盤tomcat里拷貝了個,然后項目啟動沒報錯了。雖然變相解決了問題,但我心中的疑惑並沒有解開。
明明給項目配的是E盤里的tomcat,那么怎么會去啟動C盤里tomcat的配置文件呢?
解決辦法是有了,為了檢測是哪里的問題,我又把文件換回去。
我又去看了項目里的配置
然后開始檢查系統環境變量,我發現這里配的是C盤的,好的,真相只有一個,肯定是這里的問題。於是改成E盤的。
確定一定以及肯定,沒有其他地方還能改的了,這下應該沒有問題了。
嗯,靜靜按下啟動鍵。!驚了,控制台又報錯!
思前想后,感覺沒有什么不對呀。我想會不會是沒有重新打包的緣故,於是重新打包,終於可以了!
總結:首先、下載一個版本與jdk版本對應的tomcat,然后配置tomcat的環境變量,最后正常部署項目到tomcat啟動即可。
順帶吐槽一下,公司好多個項目用的tomcat和jdk版本都不一樣,有時候換個項目開發,就要修改環境變量,偶爾也會忘記。
最后有個問題:如果不更換tomcat環境變量(環境變量與項目配置的tomcat不是同一個),每次只修改tcnative-1.dll的版本,項目跑動起來也不會出錯,對今后開發是否會有看不見的影響?