1

我工作的公司目前有一个由另一家公司提供的 Java 应用程序,旨在在 Websphere 上运行。虽然它在 Websphere 上运行良好,但考虑到我们产品的复杂性以及它与系统的必要用途的关系,我们迫切需要使用 64 位 JVM。我们试图避免购买 Websphere 的许可证,因为这将花费一大笔钱。

我已经尝试在我能找到的几乎所有 Java 应用服务器上安装这个应用程序,Glassfish 似乎是最有前途的。它似乎存在的问题是它如何处理它想要使用的库。

与应用程序捆绑在一起的是一个 jaxb.jar 文件,它是一个相当旧的版本。我在独立应用程序上对该文件进行了快速测试,以查看版本号,结果为 1.0。我确实在其中使用了一些任意类。然后,我创建了一个简单的 jsp 来在部署应用程序时测试同一类的版本。它出来了2.2.6。我知道 Glassfish 有一个较新版本的 jaxb jar 文件,所以它显然正在使用这个。

如何强制我的应用程序使用其自己的 lib 文件夹中的类而不是应用服务器正在使用的类?我觉得这是阻碍 Glassfish 成为我的替代应用服务器的唯一因素。

注意:我确实尝试从 Glassfish 中删除导致问题的文件,但它无法重新启动。它们必须是服务器运行所必需的。提前致谢。

4

1 回答 1

0

在 GlassFish 中部署/运行 web 应用程序时的确切问题是什么?您能否更新应用程序中的 jaxb jar 而不是篡改 GlassFish 中的 jar?

也许您可以在此处阅读 GlassFish 类加载层次结构。这可能会为您提供如何解决此问题的线索。特别是认可的机制可能是有用的。

于 2012-10-10T20:05:20.300 回答