2012-10-09 64 views
1

我目前工作的公司有一個由另一家公司提供的Java應用程序,該應用程序旨在運行在Websphere上。雖然它在Websphere上運行良好,但考慮到產品的複雜性以及它如何與系統的必要使用有關,我們迫切需要使用64位JVM。我們正試圖避免爲Websphere購買許可證,因爲它將花費很多錢。使用捆綁在應用程序中的jar而不是默認的 - Glassfish 3.1.2

我試圖在幾乎所有的Java應用服務器上安裝這個應用程序,我可以找到Glassfish似乎是最有前途的。它似乎存在的問題是它如何處理它想要使用的庫。

與應用程序捆綁在一起是一個jaxb.jar文件,它是一個相當舊的版本。我在獨立應用程序上對該文件進行了快速測試,以查看版本號,該版本號爲1.0。我在裏面使用了一些任意的類。然後,我創建了一個簡單的jsp來測試應用程序部署時同一類的版本。它出現在2.2.6。我知道Glassfish有一個更新版本的jaxb jar文件,所以很明顯使用這個。

如何強制我的應用程序使用它自己的lib文件夾中的類來覆蓋應用程序服務器使用的類?我覺得這是唯一阻止Glassfish成爲我的替代應用服務器的東西。

注意:我曾嘗試從Glassfish中刪除導致問題的文件,但之後無法重新啓動。它們必須是服務器運行所必需的。提前致謝。

回答

0

在GlassFish中部署/運行webapp時確切的問題是什麼? 你可以更新應用程序中的jaxb jar而不是篡改GlassFish中的jar嗎?

也許你可以閱讀GlassFish classloading hierarchy here。 這可能會給你線索如何解決這個問題。特別是認可的機制可能有用。

相關問題