java从eclipse产品/发布配置导出WAB
在我的团队中,我们正在开发web应用程序的Java后端。我们使用OSGi
到目前为止,在最初的开发阶段,为了简化工作,我们使用Jetty作为servlet容器,为了部署到测试服务器,我们只需导出eclipse产品(所有产品捆绑在一起)并运行相应的服务。exe文件
为了模块化和解耦,我们使用OSGi。在这个特定的场景中,我们对动态安装/卸载捆绑包不感兴趣,因此eclipse产品将所有东西捆绑在一起并一次性部署它非常方便
现在我们想从码头转移到玻璃鱼,这意味着我们需要以不同的方式包装我们的包裹。据我所知,WAB对我们来说是正确的选择。例如,请参见:
Basically, [a WAB is] a web application with an OSGi bundle manifest. Thus, the whole web application can be deployed as a single OSGi bundle on any framework with WAB support. Technically, the bundle may be deployed as a web application to a Servlet container. But it gets access to a BundleContext. This allows the web application to inter-operate with other bundles or web applications running in the same framework.
https://stackoverflow.com/a/11345694/285091
理想情况下,我们想去我们的酒店。产品文件(或启动配置)并从那里导出WAB,因为我们已经有了所有必要的捆绑包以及相应的设置(autostart设置和启动级别)。然而,这似乎不可能——是吗
请注意,获取“根”捆绑包并仅仅打包它及其依赖项并不能完成这项工作,因为还有其他捆绑包不会按照该过程打包。例如,在我的工作区中,我有:
- com.example.root
- com.example.something
- com.example.something.impl.a
- com.example.something.impl.b
其中:
com.example.something
是一个API捆绑包,包含两种实现:com.example.something.impl.a
com.example.something.impl.b
com.example.root
依赖于{},但不依赖于它的任何实现 - 我们实际上运行
com.example.something.impl.b
,而不是com.example.something.impl.a
如果我们试图只打包root
及其依赖项,我们将错过impl.b
因此,基本上:考虑到我们已经有了一个launch configuration/eclipse产品,其中包含了我们想要用于服务器端应用程序的确切捆绑包设置,有没有办法生成相应的WAB?如果没有任何直接的方法,并且假设我们不使用maven(它排除了maven-bundle-plugin),那么接下来最好的方法是什么
共 (0) 个答案