java - 在 Glassfish v3 部署中,我可以在哪里放置符合 CDI 资格的候选人?

标签 java java-ee-6 glassfish-3 jboss-weld

我在一个 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.jarb.jar 放在项目的 lib 文件夹中。如果您认为它有缺点,请告诉我们。

关于java - 在 Glassfish v3 部署中,我可以在哪里放置符合 CDI 资格的候选人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075837/

相关文章:

java - 如果应用程序是从 google play 下载的,android facebook 登录将停止工作

java - 跟踪 Java 中消失的线程

java - 为什么我不能将 2 个 EJB 注入(inject)到 2 个相互注入(inject)的不同托管 bean 中?

java - 使用 Jsoup 提取 HTML

java - 在 JBoss AS7 中使用 @DataSourceDefinition 配置 MySQL 数据源

java - Maven:javaee-api 与 jboss-javaee-6.0

testing - 禁用 Glassfish 中的自动更新检查

Spring + Felix war = FileNotFoundException

glassfish-3 - HTTP 和 HTTPS 端口

java - 如何在网页(jsp)中显示java类的代码