0

私は AEM/CRX/JCR に慣れていないので、基本的なものが欠けているように感じますが、どこにも答えが見つかりません。私はすでにこの質問を見てきました。

問題は次のとおりです。

  • 一部の .content.xml ファイル (jcr:title="NewValue" など) の属性値をローカル ファイル システムから変更します。
  • 実行しますmvn clean install -Pauto-deploy(以下に添付されている自動デプロイ プロファイル情報)
  • 完了したら、 http://localhost:4502/crx/de/index.jspを開き、変更した jcr:content ノードに移動します。
  • プロパティの古い値は引き続き表示されます (例: jcr:title="OldValue")。

CRXDE lite を使用して jcr:content ノードを削除し、maven を再度実行すると、ノードは更新された値で正常に表示されます。したがって、ノードがローカル ファイル システムから CRX に正常に移動していることはわかっています。既に値が存在する場合、上書きしているようには見えません。不足している、または正しく実装されていない設定があるに違いないと感じています。

さらに情報が必要な場合はお知らせください。私たちのビルド パイプラインは maven を使用しているため、直接使用したくないことに注意してください。vlt助けてくれてありがとう!

自動デプロイ プロファイル (ボールト プラグイン構成)

<plugin>
    <groupId>com.day.jcr.vault</groupId>
    <artifactId>maven-vault-plugin</artifactId>
    <version>0.0.10</version>
    <executions>
        <execution>
            <id>install-package</id>
            <goals>
                <goal>install</goal>
            </goals>
            <configuration>
                <verbose>true</verbose>
                <packageFile>${project.build.directory}/${project.build.finalName}.zip</packageFile>
                <targetURL>http://${cq.host}:${cq.port}/crx/packmgr/service.jsp</targetURL>
                <userId>${cq.user}</userId>
                <password>${cq.password}</password>
                <properties>
                  <acHandling>Overwrite</acHandling>
                </properties>
            </configuration>
        </execution>
    </executions>
</plugin>

maven-resources-plugin の編集

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-content-resources</id>
            <phase>process-resources</phase>
            <goals>
                <goal>copy-resources</goal>
            </goals>
            <configuration>
                <outputDirectory>${project.build.directory}/vault-work</outputDirectory>
                <warSourceExcludes>**/*.scss</warSourceExcludes>
                <resources>
                    <resource>
                        <directory>${basedir}/src/main/content</directory>
                        <filtering>true</filtering>
                        <excludes>
                            <exclude>**/.svn</exclude>
                            <exclude>**/.vlt</exclude>
                            <exclude>**/*.scss</exclude>
                            <exclude>**/.vltignore</exclude>
                            <exclude>**/.DS_Store</exclude>
                            <exclude>**/*.scss</exclude>
                        </excludes>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

編集変更してプッシュしようとしている .content.xml ファイルが /etc/designs にあることに注意してください。

4

2 に答える 2

0

最初にパッケージをビルドするように構成されたプラグインが他に 2 つあります。の目的はmaven-vault-plugin、AEM への展開のみです。

プラグイン構成でPOMを見てください-

  • maven-resources-plugin - これにより、コンテンツ XML がターゲットの場所にコピーされます
  • content-package-maven-plugin - これはパッケージを生成するものになります

maven-resources-plugin については、.content.xml をターゲットの場所にコピーしていることを確認し、content-package-maven-plugin については、正しいフィルター値が設定されていることを確認します。

確認するもう 1 つのことは、生成されたパッケージを抽出して、変更があるかどうかを確認するか、ターゲットの vault-work ディレクトリを調べて、.content.xml を変更したディレクトリに移動し、変更があるかどうかを確認することです。 .

変更が vault-works にある場合、maven-resources-plugin は完全に正常に動作しており、問題は content-package-maven-plugin にある可能性があります。

さらに支援が必要な場合は、これら 2 つのプラグインの構成に関する詳細も共有してください。

于 2016-07-12T18:15:59.810 に答える
0

通常、次の構造にする必要があります。

jcr_root
META-INF
--- vault
    --- config.xml
    --- filter.xml
    --- settings.xml

filter.xml には、ノードを含める/除外するためのいくつかのルールがあります。xml ファイルが除外されていないことを確認してください。

于 2016-07-20T04:22:44.787 に答える