Maven 项目 src源代码目录下 文件打包过滤问题

        在Maven项目中,分为 src源代码目录 和 resources资源目录,在默认情况下,src目录,在打包部署的时候,只会保留 .java文件编译后的.class 的文件,会把除此之外的 xml、properties等文件过滤掉。

        在某些特定的情况下,我们需要保留 src目录下的其他类型文件,此时就需要设置 Maven项目的 pom.xml 文件。

配置如下:

<build>
    <resources>
        <!-- 下面这段配置的意思就是 保留java目录下 所有的xml文件 -->
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <!-- 下面这段配置的意思就是 保留resources目录下 所有类型的文件 -->
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.*</include>
            </includes>
        </resource>
    </resources>
</build>

         第一段配置的作用 就是使用 <includes> 标签,在打包部署的时候,保留指定目录下的指定类型文件,当然也可以使用 <excludes>标签,排除掉指定类型文件。

        那为什么要做第二段配置呢,因为resources目录资源文件,默认情况下是在打包部署的时候,全部类型的文件都保留的,但是由于我们使用了第一段的配置,覆盖掉了默认配置,默认配置就不起作用了,所以我们也要手动再配置一次resources目录下的保留设置。


注:以下情况,本人的确出现过,并且使用这些办法解决了,但是奇怪的是,我无法复现了,就是无法使用到idea默认构建功能,所以以下内容仅供参考,如果可以帮到你最好。

特殊情况: 

        在你配置了以上内容后,你会发现,有时src目录下的xml被保留了,有时又没有被保留,这是为什么呢?

        原因非常无语!因为你不小心使用了idea自带的构建功能,idea默认的构建功能也是,只保留src源目录下的 java文件编译后的 class文件,保留recsources资源目录下的所有类型文件。

以下举例:

        正常情况:配置了以后的正常情况

         失效状况:配置了却没有起作用,因为不小心使用了idea自带的构建功能

 解决方案:

        1、每次都使用Maven构建,右击 Run Maven ---->  package。

可能可以的方案: 

        由于本人无法复现,所以也无法尝试,只是猜想,这里也算是提供一个可能性方案给你们

        在idea中设置,把构建和运行全都交给Maven,就不会再使用到idea默认的构建了

感谢这位老哥,详细内容可以看他的这篇文章:(9条消息) 关于maven打包时, 资源文件没有被打包进来的问题_vcj1009784814的博客-CSDN博客_maven打包resource文件没打进去

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值