通过 Maven 部署 3rd 方 OSGI 包

Deploy 3rd party OSGI bundle through maven

我正在开发 osgi 包并将其部署到 adobe AEM。

我有两个项目,都是 OSGI 包

  1. 主要项目
  2. 工具包项目

我已将工具包项目添加为主项目 pom 中的 maven 依赖项,这是我要实现的目标:

当我部署主项目时,使用maven插件将包部署到AEM,我想在部署主项目时也部署依赖包(工具包)。

有办法吗?

谢谢!

任何存储在 /apps/[your-project]/install 下的 OSGi 包都将自动部署到 AEM。

您可以在 CRX 包中使用许多 Maven 插件,以便在构建时将依赖项复制到其中。

一个例子是 Adob​​e 自己的 content-package-maven-plugin. To copy across a JAR into a content bundle, use the following syntax in your POM from the AEM docs:

<plugin>
    <groupId>com.day.jcr.vault</groupId>
    <artifactId>content-package-maven-plugin</artifactId>
    <version>0.0.24</version>
    <extensions>true</extensions>
    <configuration>
        <filters>
            <filter>
                <root>/apps/myapp</root>
            </filter>
         </filters>
         <embeddeds>
            <embedded>
                <groupId>[toolkit-groupID]</groupId>
                <artifactId>[toolkit-artifactID]</artifactId>
                <target>/apps/[your-project]/install</target>
             </embedded>
         </embeddeds>
     </configuration>
</plugin> 

(JAR 本身也需要列为该项目的依赖项,正常情况下)