0

我们正在尝试构建一个模块化的 jsf 应用程序。该应用程序由一个war 文件和几个jar 文件组成。每个 jar 文件都包含 .xhtml 页面、关联的 bean 和配置文件,如 faces-config.xml、web-fragment.xml 和 pretty-config.xml。当这些 jar 文件放在 WEB-INF/lib 中时,一切正常。

但是,我们需要独立于战争部署 jar 文件(如插件系统)。

在 jboss 6 中,我们尝试将 jar 文件放在 deploy 文件夹中。我们能够查看位于 jar 中的 .xhtml 页面(所有部署的应用程序共享同一个类加载域)。但是,没有扫描 jar 以查找 jsf 注释,并且 FacesContext 没有正确初始化。

我们还尝试在 jboss 7 中使用类似的配置部署我们的应用程序,但我们遇到了其他问题。未加载位于 jar 中的属性文件,并且由于某种原因,CDI bean 始终解析为 null。

如果我们可以创建一个由未打包在 war 中的可重用模块组成的 Web 应用程序,那就太好了。

欢迎任何建议。

先感谢您。

4

1 回答 1

0

您的应用程序是否有自己的类加载器?看起来您确实需要告诉 Java 如何找到 JAR 才能完成此任务,这意味着要么使用 OSGi,要么使用其他各种自定义类加载器安排。

顺便说一句,这不是一个不常见的问题,并且有几种自定义类加载器插件系统的实现。您可能想阅读现有的实现,例如https://developer.atlassian.com/display/PLUGINFRAMEWORK/Plugin+Framework

于 2011-10-11T09:21:11.313 回答