2012-10-09 29 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。 这可能会给你线索如何解决这个问题。特别是认可的机制可能有用。

相关问题