我一直致力于使用 Java 7 将我们的代码库迁移到 Glassfish 3.1.2。我对这个问题感到震惊,EAR 的部署失败了。我有一个 EAR,有模块、ejb.jar、几个 war 文件,以及包含要在 EAR 中的其他模块之间共享的 jar 文件的 lib 目录。
问题是 ejb.jar 引用了 lib/abc.jar 文件中的一些 spring bean 定义并且无法找到 spring 文件。结构是这样的:
耳朵
- ejb.jar(这里的一些 spring 文件是指 lib spring 文件,如 xyz.xml 导入 spring/abc.context.xml)
- 几个战争项目。
- lib/lot 的 jar 文件(其中一个 jar 包含从 ejb.jar 引用的 spring 文件,请注意该文件位于 jar 内的目录中,例如 spring/abc-context.xml)
但是 ejb jar 无法从 lib/.jar 加载 bean 定义
我曾尝试使用 ejb.jar 中的 Manifest.MF 来引用 lib/abc.jar,但没有运气......
不确定新 GF 3.1.2 是否存在某种问题,为什么它不能尊重 Manifest 文件。任何帮助都感激不尽!