首页 > 编程知识 正文

maven设置scope,maven中scope标签详解

时间:2023-05-05 16:45:05 阅读:237234 作者:3990

Maven resource 配置中include与exclude及其filter的使用

2017年01月24日 15:25:30 wangjunjun2008 阅读数:6635

Maven resource 中的<include>与<exclude>用于包含或排除某一文件目录下的文件是否是工程资源的。

若<include>与<exclude>划定的范围存在冲突,则以<exclude>配置为准。

多数情况下,使用<include>和<exclude>是为了配合<filtering>实现替换文件中的变量的需要。

例如:

在某一个工程中,src/main/resources目录下都是工程的资源文件,并不需要<include>和<exclude>再进行划定。

但如果需要对且仅对其中的jdbc.properties和mail.properties两个文件进行过滤,则需要借助<include>和<exclude>进行如下的配置:

 

 

<resources>

<!-- Filter jdbc.properties & mail.properties.-->

<!-- NOTE: We don't filter applicationContext-*.xml -->

<resource>

<directory>src/main/resources</directory>

<filtering>true</filtering>

<includes>

<include>jdbc.properties</include>

<include>mail.properties</include>

</includes>

</resource>

<!-- Include other files as resources files. -->

<resource>

<directory>src/main/resources</directory>

<filtering>false</filtering>

<excludes>

<exclude>jdbc.properties</exclude>

<exclude>mail.properties</exclude>

</excludes>

</resource>

</resources>


其中第一段<resource>配置声明:在src/main/resources目录下,仅jdbc.properties和mail.properties两个文件是资源文件,然后,这两个文件需要被过滤。而第二段<resource>配置声明:同样在src/main/resources目录下,除jdbc.properties和mail.properties两个文件外的其他文件也是资源文件,但是它们不会被过滤。

//上面这段是作者写的,但要说清楚一点是这样说:

1.本质上:src/main/resources是被设定了为资源文件夹,如果不做任何过滤的话,是该文件下的所有文件都会被maven打包进classes目录

2.<includes>和</excludes>,是选定 和 排除(就是在src/main/resources里做反选),两种相反的选择器,但都是选择.

<filtering>为true是被选择器选中的文件过滤掉,不打包进classes目录,但与此同时,剩下没被选中的,都会被打包进classes目录.

为false就是被选择器选中的文件不过滤掉,打包进classes目录.但与此同时没被选中的,都会被过滤掉.

3.<includes>里是被选中的,但也就是说src/main/resources里其他的,就是没被选中的.

 </excludes>里是没被选中的,但也就是说src/main/resources里其他的,就是被选中的.

 

转载自 http://blog.csdn.net/bluishglc/article/details/6640889

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。