2

有没有办法向当您右键单击并从 CRXDE 中选择“Build Bundle”时触发的 Bundle 构建过程添加额外的构建步骤?

我现在的具体用例是能够运行 xjc 编译器为 JAXB 绑定生成一些额外的 Java 源类,以便与第 3 方 Web 服务交互。但具体的附加任务可能真的是任何事情。

我可以看到,单击 Build Bundle 项会触发对 /libs/crxde/build 的 POST 请求,其中包含两个参数,一个指示包的根目录以及包描述符的位置。此 URL 由 com.day.crx.ide.CRXDEBuildServlet servlet 提供服务,该 servlet 是 com.day.crx.crxde-support 包的一部分。

现在我必须在 CRXDE 外部运行 xjc 进程(在这种情况下通过命令行的 Maven),然后使用 vlt 将生成的 .java 文件推回 JCR 树,然后右键单击 Build Bundle 进程。

我意识到我可以在外部构建自己的 OSGi 包并将其安装到 Felix,但我正在寻找一种方法来避免这种情况,因为它会使我们的开发环境更加复杂,尤其是团队中的一些初级 CQ 人员。

4

1 回答 1

2

对于那些正在寻找这个问题的答案的人,不幸的是没有答案。嵌入在 CQ 中的捆绑包构建过程非常基本,我从未发现任何挂钩可以让您使用自定义步骤对其进行扩展。

如果您需要为包含额外步骤的包进行自定义构建,您将需要使用 Apache Maven 等外部构建工具,然后将包部署到您的 CQ 服务器(这可以作为 Maven 构建过程的一部分轻松完成) .

我们继续创建了一个 Maven Archetype,我们现在将其用作我们所有 CQ 项目的基础,并且不再使用 CQ 中嵌入的包构建过程。我们免费提供了原型,所以如果你想使用它,你可以在这里阅读:

http://www.cqblueprints.com/xwiki/bin/view/Blue+Prints/The+CQ+Project+Maven+Archetype

干杯

于 2012-05-31T17:24:18.070 回答