2

我正在寻找一种方法来实现我的愿景。最好的方法是什么?

这是我的愿景:

  1. 我想通过 maven(作为战争文件)构建一个船长 casa应用程序。
  2. 然后我想通过maven从构建的战争中创建一个osgi包。
  3. 接下来我想构建一个可以通过 java webstart (jnlp) 下载和启动的工件。

jnlp 文件应该是下载支持 web 容器的 osgi 环境(可能是 jetty osgi 服务),然后下载 osgi bundled war。然后应该启动osgi容器和码头服务,部署我的战争。最后,应用程序在 osgi 环境中本地运行。

有很多问题需要回答:

  1. 我如何通过 maven 构建一个船长 casa 应用程序来进行战争?
  2. 应该使用哪个 maven 插件来构建 osgi 包(pax、maven-bundle-plugin、tycho、...)有什么区别?
  3. 如何通过可以部署在站点上的 maven 构建 jnlp 工件?
  4. 必须如何修改 osgi 包以支持 java webstart?

已知信息:

  • 为 java webstart 准备 osgi 包的博客条目。
  • maven插件的许多页面,例如pax,maven-bundle-plugin,tycho,bnd,...
4

1 回答 1

2

这可能值得作为 3 个单独的问题提出,但在构建 Web 应用程序包时,我使用 maven-bundle-plugin 版本 2.2.0(当前未发布,因此您需要依赖快照)。

然后我使用以下文件结构:

src/main/java - 任何 .java 文件 src/main/resources - 应该在类路径中的任何非 .java 文件 src/main/webapp - 静态内容、图像、html 文件 jsps 等

然后在为 maven-bundle-plugin 配置正常数据后,在 pom 中指定以下内容:

<_wab>src/main/webapp</_wab>

这将导致静态内容被拉入捆绑包中,并且捆绑包由 WEB-INF/classes 目录中的类和资源构成。

于 2011-01-07T22:29:46.787 回答