我正在使用 CDI 创建一个 Java Web 应用程序。My War 包括各种作为 bean 源的 Jar 文件(包括 META-INF/beans.xml 文件)。在 JBoss 等 Java EE 容器中运行时会自动发现我的 bean(我目前使用的是 JBoss AS 7.1.1)。这一切运作良好。
我希望能够扩展 Web 应用程序,理想情况下是允许它从存储在可配置位置(因此在系统属性指定的位置)中的 Jar 文件加载类。这也很好,因为我可以使用 ClassLoader 来解析类和资源。我缺少的是让 CDI 扫描这些外部 Jar 文件并包含它们的 bean 的能力。
这将允许我的应用程序托管插件功能,包括新的 REST 资源。我不介意我是否必须重新启动应用程序才能获取这些外部 Jar 文件中包含的类和资源。
我看不出有办法做到这一点。这甚至是应该在这种环境下尝试的事情吗?