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 中定义的目录中的所有文件都将与捆绑包一起部署,对吗?
我正在寻找一个基于 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 中定义的目录中的所有文件都将与捆绑包一起部署,对吗?