在maven中打包时排除资源



我有一个项目的样本结构为:

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

我需要做的是在创建包时,我需要包含"apps/a &等/A"或"应用程序/B &等/B "

在我的pom.xml中,我尝试这样做:

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

但是在app和etc下的"A"one_answers"B"仍然包含在包装中。我正在使用content-package-maven-plugin来构建一个将部署在CQ上的包。

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

看起来,include/exclude标签根本不起作用。为了测试,我尝试了:

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

但仍然是字体。文件被包含在打包的zip中。

请提供一些帮助或提示。如果需要更多的信息,请告诉我。

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

问题不在于include/exclude标签(它们总是工作得很好)

排除部分资源后的文件被复制到"target/classes"目录问题是maven-content-package插件从原始源目录而不是创建的"target/classes"目录中获取资源到包。因此,它总是包括一切。这是maven-content-package插件的默认行为

因此,我必须明确地告诉插件,你需要从"target/classes"中选择要打包的资源。

<builtContentDirectory>${basedir}/target/classes</builtContentDirectory>
如果有人需要更多的细节,请告诉我。谢谢你的回答:)

因为你想包含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。

Jyotsna

相关内容

  • 没有找到相关文章

最新更新