maven编译少文件

maven编译少文件

  • 环境
  1. java开发工具版本:IntelliJ IDEA 2017.2
  2. maven版本: apache-maven-3.3.9
  • 问题描述

    • java代码之前一直正常执行,更新代码重新编译后,target的class中缺少properties文件,代码执行一直失败。
    • 尝试了删除target文件,各种rebuild project,编译始终缺失文件。
  • 问题分析

    • maven在编译处理文件时,有默认的目录查找文件的方式。 src/main/java和src/test/java 这两个目录中的所有*.java文件会分别在compile和test-compile阶段被编译,编译结果分别放到了target/classes和target/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。
    • 因此当工程中有自定义的存放方式,在编译的时候容易被忽略出现缺失文件。我的工程中的properties文件放在了src/test/java目录下,因此我在工程pom.xml文件build节点中增加了resouces配置节点,从而解决了问题。
<resources>
   <resource>
      <directory>src/test/java</directory>
      <includes>
         <include>**/*.properties</include>
      </includes>
   </resource>
</resources>
  • Maven项目的标准目录结构
  • 引自 http://www.cnblogs.com/pixy/p/4798089.html
  • src
    • main
      • java 源文件
      • resources 资源文件
      • filters 资源过滤文件
      • config 配置文件
      • scripts 脚本文件
      • webapp web应用文件
    • test
      • java 测试源文件
      • resources 测试资源文件
      • filters 测试资源过滤文件
    • it 集成测试
    • assembly assembly descriptors
    • site Site
  • target
    • generated-sources
    • classes
    • generated-test-sources
    • test-classes
    • xxx.jar
  • pom.xml
  • LICENSE.txt
  • NOTICE.txt
  • README.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值