2013-02-26 70 views
0

注:我很新的JVM的部署一般,可以隨意讓我知道,這完全是一種錯誤的做法:)自動共享的.war文件之間相同的.jar文件在Tomcat中

我有一大堆自包含的.war文件,它們的所有依賴項都是.jar文件。不過,我的一些項目有共享的依賴關係。 是否可以設置tomcat自動檢測相同的.jar文件並在主機間重用它們?或者我必須從.war手動排除這些.jar依賴項,並將它們放入CATALINA_HOME/lib中?

我想象一個檢查.jar文件信息和校驗和的系統是一個足夠好的測試。

注:我需要這個的真正原因是由於JNI。當然,共享其他共享依賴關係,以降低內存使用等是很好的,但是這對我的.wars使用相同的JNI模塊是一個絕對的要求,因爲當Tomcat試圖加載.jar時,我得到了類加載器異常文件,第二次加載JNI模塊。這顯然不被Tomcat支持。

回答

1

您需要手動完成並將它們填充到類路徑上的共享空間中。

可以是CATALINA_HOME/lib,也可以自己手動將它們添加到Tomcat的啓動類路徑中。

但無論哪種方式,您都需要手動管理它,或者您可以使用某種腳本自動執行此操作,但jar(任何類型)更改都需要重新啓動Tomcat。