【问题标题】:Exclude property files from resources从资源中排除属性文件
【发布时间】:2011-02-13 19:42:53
【问题描述】:

如何从 src/main/resources 中排除文件,例如:我有一个名为“map”的文件夹,我想保留它,我想从战争中删除所有内容(或者不首先将其打包) .

或者替代但相同的结果,从 src/main/resources 中排除所有 *.resources 文件并将其他所有内容置于战争中?

谢谢

【问题讨论】:

    标签: maven-2


    【解决方案1】:

    你可以像这样配置你的资源:

    <build>
        <resources>
            <resource>
               <directory>src/main/resources/map</directory>
            </resource>
        </resources>
    </build>
    

    或者这个:

    <build>
        <resources>
            <resource>
               <directory>src/main/resources</directory>
               <excludes>
                   <exclude>**/*.log</exclude>
               </excludes>
            </resource>
        </resources>
    </build>
    

    更多详情,请点击here

    【讨论】:

    • 请注意,如果任何属性(${project.name})要替换为有效值,则必须在 ` ` 上方添加 &lt;filtering&gt;true&lt;/filtering&gt;
    【解决方案2】:

    如果您不希望将某些资源复制target/classes,您可以在resource 元素中定义includesexcludes,如Including and excluding files and directories 中所述。例如:

    <build>
      <resources>
        <resource>
          <directory>src/main/resources</directory>
          <excludes>
            <exclude>**/map/*.*</exclude>
          </excludes>
        </resource>
      </resources>
    </build>
    

    如果您希望资源仍被复制到target/classes,但由于某种原因不希望它们被打包到最终工件中,则将 maven war 插件配置为使用packagingExcludes

    【讨论】:

    • &lt;exclude&gt;**/map/*.*&lt;/INclude&gt; 应该是&lt;exclude&gt;**/map/*.*&lt;/EXclude&gt;
    【解决方案3】:

    maven 资源插件的官方文档描述了如何执行包含和排除。

    http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

    【讨论】:

    • 过滤是另外一回事,过滤允许用值替换标记。
    • 是的,对不起,我本来打算(现在已经)链接到包含排除位,但被带走了。
    猜你喜欢
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 2011-02-13
    • 2016-09-25
    相关资源
    最近更新 更多