总结一下我遇到的问题,我有一个使用版本 A 库的 EJB(我们称之为 dep-vA.jar)。dep-vA.jar 打包在 EJB 的 jar 文件的根目录中。应用服务器中的域 lib 文件夹包含相同库的版本 B(我们称之为 dep-vB.jar)。调用 EJB 时,由于加载的是 dep-vB.jar 文件而不是 dep-vA.jar,因此出现错误。
我想这个问题的第一部分是,Sun One Application Server v9.1 是否将 EJB 彼此隔离?我的印象是确实如此。但似乎另一个应用程序加载了 dep-vB.jar 并且这个 EJB 直接使用它而不加载它自己的。
第二个问题是,如果应用服务器确实隔离了 EJB,它是否会在查看应用服务器的 lib 文件夹之前从 EJB 的 jar 文件中加载依赖项?我的印象是这也是真的,但也许不是......
是否有人对 Sun 应用程序服务器足够熟悉来解释为什么加载的是 dep-vB.jar 而不是 dep-vA.jar?有没有办法让它加载 dep-vA.jar 而不更改应用程序服务器的 lib 文件夹中的内容?(我会犹豫做任何可能影响服务器上其他应用程序的事情)
谢谢。