Sling 部署内容并与 Maven 捆绑

Sling deploy content and bundle with maven

我正在寻找一个基于 maven 的解决方案来在我的 sling 独立服务器上部署 apache sling 包和内容(包括 jsp/html,等文件)。

我说这个私人项目是为了在不使用 AEM 的情况下了解 sightly 和 sling 模型。这是我第一个唯一的吊索项目。

我已经根据特定原型创建了一个 sling 包和一个 sling 内容项目。我说过使用 Eclipse Sling IDE 工具,但我习惯了 IntelliJ,并且没有插件可以以相同的方式部署内容。我认为可以使用 maven 构建和部署同时包含(包和内容)的包。

希望你们中的一些人有一些指导或想法来解决这个问题,并使使用 apache sling 开发 web 项目更加舒适。

干杯;)

这个项目可能对您有帮助 https://github.com/auniverseaway/slick,请参阅那里的 pom.xml 文件

maven-sling-plugin 可以在 Sling 实例中安装捆绑包,并且捆绑包可以包含在激活时安装的初始内容。

slingbucks 示例演示了这一点,如果您按如下所示构建它,它将安装在端口 8080 上的 Sling 实例 运行 及其初始内容(在 src/main/resources/SLING-CONTENT 下定义如该模块的 pom.xml) 中指定的那样将被安装:

mvn clean install org.apache.sling:maven-sling-plugin:install -Dsling.url=http://localhost:8080/system/console

如果您使用 Sling 父级 pom,您还可以使用 autoInstallBundle 配置文件使用该 pom 定义的默认 URL 来做同样的事情:

mvn clean install -P autoInstallBundle

<plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>2.0.1</version> <extensions>true</extensions> <configuration> <instructions> <Sling-Initial-Content> jcr_root/content; overwriteProperties:=false; overwrite:=false; uninstall:=false; path:=/content; maven:mount:=false, jcr_root/apps/slick; overwrite:=true; path:=/apps/slick; maven:mount:=false, jcr_root/apps/sling; overwrite:=true; path:=/apps/sling; maven:mount:=false, jcr_root/etc; path:=/etc; overwriteProperties:=false; uninstall:=false, jcr_root/i18n; path:=/etc/i18n/net.zum.slick; overwrite:=true;uninstall:=true </Sling-Initial-Content> <Bundle-Activator>net.zum.slick.internal.Activator</Bundle-Activator> <Sling-Model-Packages> net.zum.slick </Sling-Model-Packages> </instructions> </configuration> </plugin>

maven-bundle-plugin <Sling-Initial-Content> space 中定义的目录中的所有文件都将与捆绑包一起部署,对吗?