0

我有一个示例结构的项目:

jcr_root |_apps |_A |_B |_etc |_A |_B

我需要做的是在创建包时,我需要包含“apps/A & etc/A”或“apps/B & etc/B”

在我的 pom.xml 中,我尝试了类似的东西:

<resources>
       <resource>
        <directory>src/main/content/jcr_root</directory>
            <excludes>
            <exclude>apps/A/**</exclude>
                        <exclude>etc/A/**</exclude>
                </excludes>
     </resource>
</resources>

但是在打包时仍然包含应用程序等下的“A”和“B”。我正在使用content-package-maven-plugin构建一个将部署在 CQ 上的包。

我尝试将条目放入 filter.xml 但随后在部署时使用它而不是在打包时使用。

似乎包含/排除标签根本不起作用。为了测试,我尝试了:

<resources>
   <resource>
    <directory>src/main/content/jcr_root</directory>
        <excludes>
        <exclude>**/*.otf</exclude>
                    </excludes>
   </resource>
</resources>

但是 fonts.otf 文件仍然包含在打包的 zip 中。

请提供一些帮助或提示。让我知道是否需要更多信息。

提前谢谢了。

4

2 回答 2

1

所以最后我能够创建一个包含排除资源的包。

问题不在于包含/排除标签(它们总是工作正常。)

排除某些资源后的文件被复制到“target/classes”目录问题是 maven-content-package 插件将资源从原始源目录而不是“target/classes”目录创建。因此它总是包含所有内容. 这是 maven-content-package 插件的默认行为。

因此,我必须明确告诉插件您需要从“目标/类”中选择要打包的资源。

<builtContentDirectory>${basedir}/target/classes</builtContentDirectory>

如果有人需要更多详细信息,请告诉我。感谢您的所有回答:)

于 2014-04-15T08:37:42.133 回答
0

由于您想包含 jcr_root/app/A 和 jcr_root/etc/A 请尝试在 POM.xml 中使用它:

<project>
    ...
    <resources>
    <resource>
        <directory>jcr_root</directory>
        <includes>
            <include>**/*A*</include>
        </includes>
        <excludes>
            <exclude>**/*B*</exclude>
        </excludes>
    </resource>
    <resources>
</project>

同样,您可以这样做来获取 jcr_root/app/B 和 jcr_root/etc/B。

问候

约茨纳

于 2014-03-14T05:23:12.913 回答