AEM 6.3 - Maven 构建成功但仍未安装所有内容
AEM 6.3 - Maven build is successful but still doesn't install all the content
我遇到了这个奇怪的问题,我使用 lazybones 创建了一个全新的 AEM 项目,然后当我 运行 第一次构建 Maven 时,项目结构在 CRXde 中创建。然后我在 CRXde 中创建了一个组件并使用 vlt 导出它。对组件 HTL 文件和 运行 Maven 构建进行了一些更改。 *EDIT 更改反映在组件脚本中,但如果我从 CRXde 中删除组件并再次 运行 构建,即使构建有成功了。这同样适用于任何文件或文件夹,无论是在 apps/ 下。 etc/clientlibs/ 或 /conf 下。当我检查作为构建结果创建的 zip 文件时,我可以看到包含项目下所有文件和文件夹的 zip 文件。
下面是解释问题的图片:
包含组件的 Zip 文件
构建完成后组件里面的文件夹还是空的
即使我手动安装了压缩包,由于某些原因我仍然无法安装组件、clientlibs 和其他文件。
当我检查构建日志时,除了这些警告之外我没有发现任何错误:
[INFO] --- maven-bundle-plugin:2.5.3:bundle (default-bundle) @ example-project.core ---
[警告] Bundle com.myco:example-project.core:bundle:0.0.1-SNAPSHOT:未使用的私有包指令,class 路径上没有这样的包:[!* ]
[警告] Bundle com.myco:example-project.core:bundle:0.0.1-SNAPSHOT:JAR 为空:名为 com.myco.example-project 的 JAR 的说明没有导致任何要包含的内容,这可能是错误的
我不知道为什么会这样,因为我还没有对 pom.xml 进行任何更改。
此外,如果这很重要,我使用的是 maven 3.5.0
构建参数
提前致谢
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/apps/my-aem-project"/>
<filter root="/apps/sling/servlet/errorhandler"/>
<filter root="/conf/my-aem-project" mode="merge"/>
<filter root="/etc/clientlibs/my-aem-project"/>
<filter root="/etc/designs/my-aem-project">
<include pattern="/etc/designs/my-aem-project/jcr:content"/>
<include pattern="/etc/designs/my-aem-project/jcr:content/clientlibs"/>
<include pattern="/etc/designs/my-aem-project/jcr:content/clientlibs/.*"/>
</filter>
</workspaceFilter>
今天早上,我在第二台笔记本电脑上检查了 git 的项目,并进行了 maven 构建。 CRXde 中没有显示组件、clientlibs 等,构建成功。
检查你的filter.xml。您是否在 filter.xml 中创建了过滤器根条目?
当项目配置为使用文件库时会出现此问题。建议使用 AEM eclipse 插件来保持 CRX 和 eclipse 代码库同步。
我遇到了这个奇怪的问题,我使用 lazybones 创建了一个全新的 AEM 项目,然后当我 运行 第一次构建 Maven 时,项目结构在 CRXde 中创建。然后我在 CRXde 中创建了一个组件并使用 vlt 导出它。对组件 HTL 文件和 运行 Maven 构建进行了一些更改。 *EDIT 更改反映在组件脚本中,但如果我从 CRXde 中删除组件并再次 运行 构建,即使构建有成功了。这同样适用于任何文件或文件夹,无论是在 apps/ 下。 etc/clientlibs/ 或 /conf 下。当我检查作为构建结果创建的 zip 文件时,我可以看到包含项目下所有文件和文件夹的 zip 文件。
下面是解释问题的图片:
包含组件的 Zip 文件
构建完成后组件里面的文件夹还是空的
即使我手动安装了压缩包,由于某些原因我仍然无法安装组件、clientlibs 和其他文件。
当我检查构建日志时,除了这些警告之外我没有发现任何错误:
[INFO] --- maven-bundle-plugin:2.5.3:bundle (default-bundle) @ example-project.core --- [警告] Bundle com.myco:example-project.core:bundle:0.0.1-SNAPSHOT:未使用的私有包指令,class 路径上没有这样的包:[!* ] [警告] Bundle com.myco:example-project.core:bundle:0.0.1-SNAPSHOT:JAR 为空:名为 com.myco.example-project 的 JAR 的说明没有导致任何要包含的内容,这可能是错误的
我不知道为什么会这样,因为我还没有对 pom.xml 进行任何更改。
此外,如果这很重要,我使用的是 maven 3.5.0
构建参数
提前致谢
<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="/apps/my-aem-project"/>
<filter root="/apps/sling/servlet/errorhandler"/>
<filter root="/conf/my-aem-project" mode="merge"/>
<filter root="/etc/clientlibs/my-aem-project"/>
<filter root="/etc/designs/my-aem-project">
<include pattern="/etc/designs/my-aem-project/jcr:content"/>
<include pattern="/etc/designs/my-aem-project/jcr:content/clientlibs"/>
<include pattern="/etc/designs/my-aem-project/jcr:content/clientlibs/.*"/>
</filter>
</workspaceFilter>
今天早上,我在第二台笔记本电脑上检查了 git 的项目,并进行了 maven 构建。 CRXde 中没有显示组件、clientlibs 等,构建成功。
检查你的filter.xml。您是否在 filter.xml 中创建了过滤器根条目?
当项目配置为使用文件库时会出现此问题。建议使用 AEM eclipse 插件来保持 CRX 和 eclipse 代码库同步。