Tomcat轉jboss踩的那些坑


問題背景

  今天發版本,是一個httpclient的跳轉(由於公司網絡原因,所以對外網的訪問都經過這個代理服務出去)。

問題原因

  之前的開發一直在window系統的tomcat服務器上進行的,對jboss沒有一點了解。所以今天就出了兩個大坑。記錄下來。

問題一:

  項目部署到jboss上,啟動服務沒有任何錯誤,並且服務器上的其他應用能正確訪問,但是我部署的項目死都訪問不了(黑線,一直糾結是不是網絡組的同事發包的問題)。到最后,只有請出團隊的靈魂人物,老大來幫忙看了,看了半天,確實是我打包的問題,我打war包的時候,是在eclipse中右擊項目--->tomcat project--->export to the WAR file sets in project properties 然后到處war包,當然,之前也需要在eclipse中設置打war包的一些參數。

  經過上面的方法打好war包后,悲劇也來了。后面發現,這種打包方式確實有問題,war包中還包含了源碼。

有問題的war包:(jboss運行有問題,Tomcat可以運行)

然后老大直接在eclipse中用export --> war file 打包,放到jboss服務中,完美運行,項目也可以訪問了

沒問題war包

這是打包的一個坑。。。。

 

問題二:

  因為項目要訪問客戶接口,客戶接口是https需要證書。所以在項目中需要拿到本地的安全證書。在項目中,我把證書放到根目錄下,因此在程序里通過class.getResource("").getPath()方法拿到編譯后的根路徑。但是打印出來看到路徑前面還有一個分割符,如:/E:/tomcat/project/....所以,我用了字符分割去掉了前面的“/”,把路徑變為:E:/tomcat/project/....在window環境下,取得證書完全沒問題,等項目部署到linux服務上時,發現,找不到證書的路徑。一查,原來就是因為前面的“/”沒有了的原因。當初去掉就是憑個人感覺,在window中不需要前面的“/”。后面測試,在window環境下有前面的“/”,也能取到本地的證書。所以不需要將前面的“/”去掉,在window和linux環境下都能訪問到。這個又是訪問路徑的一個大坑。

  開發就是在無數個坑里面前進。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM