【问题标题】:how to deploy OSGI bundle to CQ5 system console through command prompt or through maven command如何通过命令提示符或通过 maven 命令将 OSGI 包部署到 CQ5 系统控制台
【发布时间】:2014-10-30 15:16:48
【问题描述】:

我有一个项目要求从命令提示符或 maven 命令在 CQ5 系统控制台中部署 OSGI 包(打包为 JAR)。

我在寻找什么 - 有什么办法,我可以直接使用命令提示符或 maven 命令将打包为 Jar 的可用 OSGI 包部署到 CQ5 系统控制台。

我尝试过的 - 我找到了一种可以通过“cURL”来实现的方法,下面是这个命令:

curl -u admin:admin -F action=install -F bundlestartlevel=20 -F bundlefile=@"C:\osgi-work\demo-file-search-bundle-1.0-SNAPSHOT.jar" http://localhost:4502/system/console/bundles

但根据要求,我不能限制用户先安装 "cURL" 然后运行命令。

是否有任何解决方法可以将我的 OSGI 包直接安装到 CQ5 控制台管理器。

【问题讨论】:

    标签: console maven-3 aem osgi-bundle


    【解决方案1】:

    如果您使用 Maven 构建您的包,您可以包含 Maven Sling Plugin

    假设您的 POM(或 settings.xml)中包含正确的属性,那么您可以简单地调用 mvn sling:install 将包安装到 Felix 中。

    您也可以使用多个配置文件,例如:

    mvn sling:install -P development
    mvn sling:install -P qa
    

    假设每个配置文件都包含该环境的 URL 和所需的凭据。

    【讨论】:

      【解决方案2】:

      除了 maven-sling-plugin 之外,您还可以将包和内容包复制到 CQ 的 JCR 存储库中名为“install”的文件夹中,前提是该文件夹位于 /apps 下且不超过 4 或 5 个级别深(我不记得确切的数字)。

      因此,例如通过 WebDav 安装 JCR 存储库(默认为 http://localhost:4502),创建一个名为 /apps/yourstuff/install 的文件夹并将您的包复制到其中将导致 Apache Sling OSGi 安装程序安装它们,就好像通过OSGi 控制台。安装程序仅考虑捆绑包的最新版本,以防以这种方式提供多个副本。

      【讨论】:

        【解决方案3】:

        你试过mvn -P autoInstallBundle吗?您需要在 pom 文件中添加 autoInstallBundle 配置文件:

               <profile>
                <id>autoInstallBundle</id>
                <build>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.sling</groupId>
                            <artifactId>maven-sling-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>my-project</id>
                                    <phase>install</phase>
                                    <goals>
                                        <goal>install</goal>
                                    </goals>                                
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </build>
            </profile>          `
        

        查看这里了解更多信息:http://docs.adobe.com/docs/en/cq/aem-how-tos/development/how-to-build-aem-projects-using-apache-maven.html#Bundle Development Tasks

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-03
        • 2013-03-09
        • 1970-01-01
        • 2015-05-28
        • 1970-01-01
        • 2018-05-05
        • 2018-07-01
        相关资源
        最近更新 更多