關於使用jetty部署war包後調用其他接口不通的問題
1、現象描述
用eclipse工具開發java的web項目,eclipse上也是集成jetty服務器,開發調試的時候調用外部接口都一切正常的,(當時調用的tencent的地圖的接口),但是把項目打成war後,扔到jetty的webapp目錄下面,通過命令java -jar start.jar啓動後,本省系統功能都是一切正常的,但是當訪問地圖接口時就出現異常的,感覺是連接有異常的原因,整了很久都不知道原因,開始考慮過是jetty版本的問題,但是換了好幾個版本都是不行。後來是覺得是編碼是不是有什麼問題,然後就查找問問同事,試了一下還真是。
2、解決辦法
啓動的時候,啓動命令如下:java -Dfile.encoding=UTF-8 -jar start.jar
圖中我把命令寫爲一個bat文件,雙擊直接運行就行了,但是啓動後發現,啓動日誌中的中文都變成了亂碼,估計就是項目的編碼和jetty服務器的編碼有衝突造成了,因爲比較急所以沒去糾結怎麼覺得這個亂碼的問題,
3、擴充
直接像上圖那樣啓動,會默認在C:\Users\Administrator\AppData\Local\Temp目錄下解壓war包,直接在jetty的根目錄下間一個work文件夾,jetty就會把war文件解壓到這裏。