博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven资源文件的相关配置
阅读量:6115 次
发布时间:2019-06-21

本文共 3825 字,大约阅读时间需要 12 分钟。

copy from http://www.cnblogs.com/pixy/p/4798089.html

 

构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件。

 

src/main/java和src/test/java 

这两个目录中的所有*.java文件会分别在comile和test-comiple阶段被编译,编译结果分别放到了target/classes和targe/test-classes目录中,但是这两个目录中的其他文件都会被忽略掉。

 

src/main/resouces和src/test/resources

这两个目录中的文件也会分别被复制到target/classes和target/test-classes目录中。

 

target/classes

打包插件默认会把这个目录中的所有内容打入到jar包或者war包中。

 

 

Maven项目的标准目录结构

  • 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

 

资源文件的配置

资源文件是Java代码中要使用的文件。代码在执行的时候会到指定位置去查找这些文件。前面已经说了Maven默认的处理方式,但是有时候我们需要进行自定义的配置。

有时候有些配置文件通常与.java文件一起放在src/main/java目录(如mybatis或hibernate的表映射文件)。有的时候还希望把其他目录中的资源也复制到classes目录中。这些情况下就需要在Pom.xml文件中修改配置了。

可以有两种方法:

  • 一是在<build>元素下添加<resources>进行配置。
  • 另一种是在<build>的<plugins>子元素中配置maven-resources-plugin等处理资源文件的插件。

 

配置resouces节点

.......
src/main/resources
**/*.properties
**/*.xml
false
src/main/java
**/*.properties
**/*.xml
false
......

 

配置资源处理插件

maven-resources-plugin
2.5
copy-xmls
process-sources
copy-resources
${basedir}/target/classes
${basedir}/src/main/java
**/*.xml

 

另一个插件也能完成相同的功能

org.codehaus.mojo
build-helper-maven-plugin
1.8
add-resource
generate-resources
add-resource
src/main/java
**/*.xml

 

 

打包时文件相关的配置

打包时target/classes目录中的资源文件会和class字节码一起被打进jar包或war包中。有时候默认的情况不能完全满足需求,如target/classes目录中的一些文件不希望打入jar包中,就需要额外配置maven-jar-plugin插件。

       
org.apache.maven.plugins
maven-jar-plugin
2.4
*.properties
true
xxxxxx.ConsoleLauncher

 

 

 

 

参考资料

http://bglmmz.iteye.com/blog/2063856

你可能感兴趣的文章
Spring事务管理
查看>>
SSH限制IP登录与禁止多次尝试
查看>>
二维码生成类分享
查看>>
深入Android开发之--理解View#onTouchEvent
查看>>
快来给宝宝打分
查看>>
vue-lazyload源码分析
查看>>
Hive1.0.0安装
查看>>
你所听到的技术原理、技术本质到底是什么?
查看>>
BGP笔记(一)
查看>>
拷贝构造函数是必须要带引用类型的参数的, 而且这也是编译器强制性要求的...
查看>>
VMware中centos6.5mini设置静态IP
查看>>
Linux文件查找之find详解
查看>>
iptables nat表转发
查看>>
App自动化测试必备之adb使用
查看>>
Apache服务器的基本配置(详细)
查看>>
使用shell批量添加用户
查看>>
记一个OfficeException
查看>>
python 内置模块collections
查看>>
深入JVM锁机制
查看>>
PHP编译安装
查看>>