我在一个 jar (a.jar) 中有代码,其中包含 @Inject X x
。
我想通过另一个 jar 中的实现来满足注入(inject)(b.jar,是一个有效的 bean 存档等)。
据我了解,我无法将 a.jar 和 b.jar 部署在单独的 WAR 独立存档中,因为它们在 CDI 方面是独立的。我也许可以将 b.jar 放在 Glassfish 为所有部署提供的 lib 文件夹中(但这是否是“纯 Java 6 EE”,这意味着我无法以与 war 或 Ear 相同的方式进行部署?)。我也许可以在 lib 中的 EAR 中提供 b.jar 以及 a.war 或 a.jar,但我对此不熟悉。
我的问题是我有哪些选项来部署 a.jar 和 b.jar 以便 Glassfish(当前为 3.0.1,但如果效果更好的话我会考虑 3.1.1)能够正确解析这种依赖?我正在寻找一份详尽的 list 。
(编辑:我更喜欢一个可以独立于 a.jar 部署 b.jar 的解决方案)
最佳答案
我认为一个不错的选择是将 a.jar
和 b.jar
放在项目的 lib
文件夹中。如果您认为它有缺点,请告诉我们。
关于java - 在 Glassfish v3 部署中,我可以在哪里放置符合 CDI 资格的候选人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075837/