你可以在不同的OSGi包中使用JSF自定义组件吗?
有没有人一起使用OSGi和JSF?
我问,因为JSF使用类加载器魔法来查找自定义组件。 从教程(重点介绍):
该配置文件最终将成为表示此组件的.jar文件中的META-INF / faces-config.xml。 JSF将在运行时 (在.war文件的WEB-INF / lib目录中) 加载的每个.jar文件中查找这样的文件名 ,并在其配置中使用它们中的每一个。 通过这种方式,可以将多个组件.jar文件组合到一个Web应用程序中,并且每个.jar中描述的所有组件都可供应用程序使用。
我希望能够将JSF自定义组件作为OSGi包(即自定义组件位于不同于JSF运行时的OSGi包中)以及JSF能够在运行时找到这些组件。
有没有人做过类似的事情?
可以通过以下方式进行:
如果使用maven-bundle插件,则必须使用撇号和等于导出META-INF和子包。 例如:
<Export-Package>
a.b.c,
'=META-INF',
'=META-INF.resources',
...
</Export-Package>
在JSF规范2.2中,可能有关于JSF-OSGI关系的部分。 要查看进度,请参阅http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-942
我不确定它确实回答了你的问题,但是我发现这个关于Spring和osgi interresting的线程,特别是这个特定的答案,其中依赖和classpath绑定在MANIFEST.MF中。
该线程还导致了这个教程的更新,这些教程也可能对您感兴趣的OSGi™服务平台的Spring动态模块(DM)有帮助。
链接地址: http://www.djcxy.com/p/12955.html上一篇: Can you have JSF custom components in different OSGi bundles?