建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包中。

pom中

src/main/java**/*.properties**/*.xmlfalsesrc/main/resources**/*.properties**/*.xml**/*.ftl**/*.html**/*.pdffalse

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文件中修改配置了。

可以有两种方法:

一是在元素下添加进行配置。

另一种是在的子元素中配置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

编译后没有taget文件夹_maven资源文件的相关配置才会在编译后的target里面有相关推荐

  1. vs2010中的ipch文件夹和sdf文件,及禁用后没有资源视图的解决方法

    vs2010中的ipch文件夹和sdf文件 vs2010打开某个工程 ,转换成功之后,在工程目录看见一个sdf文件和一个ipch文件夹,都超大(起码几十M),我一个四百多k 的工程,结果用vs打开过后 ...

  2. unity中监听文件夹并且创建文件夹后做资源更新

    unity中监听文件夹并且创建文件夹后做资源更新 有时候我们在设计的时候,可能对项目的文件内容进行监听,也可能需要在监听某个文件夹的操作,并且做出相对应的处理,例如项目资源的大小监听等,以下就提供两种 ...

  3. android 读取assets文件夹下的文件资源

    今天,简单讲讲如何读取assets文件夹下的文件. Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.Java里面自动生成该资源文件的ID ...

  4. maven没有resource文件夹_maven项目中没有resource文件夹的问题

    之前使用eclipse创建maven项目,文件夹都是建好的,这几次创建,都没有resource文件夹,需要手动创建resource. 现象描述 在eclipse中,创建maven项目有两种方式: 一种 ...

  5. 如何在Spring-Boot项目中配置资源文件夹?视频文件不想放在项目中,怎么做?前台上传文件后台如何访问?什么是资源文件夹?

    如何在Spring-boot项目配置资源文件夹 前言 2.properties文件 二.访问 1.放入资源 2.访问 方式1 方式2 前言 在什么情况下需要配置资源文件夹? 当项目需要读取静态文件夹以 ...

  6. 安装 anaconda 后无法运行,开始菜单没有启动项,安装文件夹缺失大量文件

    安装 anaconda 后无法运行,开始菜单没有启动项,安装文件夹缺失大量文件 在安装的时候有可能报错提示无法创建菜单,或者安装完后文件夹缺失大量文件,网上的方法有改PATH,关闭360,关闭电脑管家 ...

  7. 启动QQ失败,正在迁移个人文件夹,为了保证数据完整,请等待迁移完成后再启动QQ

    装了QQ,当重新设定了保存路径后,出现内容为 "启动QQ失败,正在迁移个人文件夹,为了保证数据完整,请等待迁移完成后再启动QQ" 的弹出提示窗口,长时间没有响应,真是考验我的耐心啊 ...

  8. 启动QQ失败,正在迁移个人文件夹,为了保证数据完整,请等待迁移完成后再启动QQ...

    装了QQ,当重新设定了保存路径后,出现内容为 "启动QQ失败,正在迁移个人文件夹,为了保证数据完整,请等待迁移完成后再启动QQ" 的弹出提示窗口,长时间没有响应,真是考验我的耐心啊 ...

  9. Android开发:第四日番外——Assets文件夹和RAW文件夹区别

    话说上回说到SQLite数据库,其中涉及到把已经设计好的数据库打包到APK中,提到可以放置在Assert文件夹或者RAW文件夹中,那么两者到底有什么区别呢?让我们来探究一下. 一.res/raw和as ...

最新文章

  1. 2017年深度学习优化算法最新进展:改进SGD和Adam方法
  2. Codeforces 1196A Three Piles of Candies
  3. Linux C Socket编程发送结构体、文件详解及实例
  4. python基础学习(十二)变量进阶
  5. Android从无知到有知——NO.7
  6. 前端学习(148):html和xhtml的区别
  7. 都是用Redis的服务器,12306为啥干不过淘宝???
  8. scp瓶中船是什么梗_早安打工人是什么梗?
  9. jquery mysql实现加入购物车_使用jQuery实现购物车结算功能
  10. 学会放松,是通向生命觉‮的醒‬必经之路
  11. python 人脸识别调整人脸大的距离_Python 人脸识别就多简单,看这个就够了!
  12. dispatch作用 react_javascript – redux-react中的dispatch函数
  13. 优必选悟空智能机器人怎么读绘本_优必选发布悟空机器人及操作系统ROSA,关于估值这么回应…...
  14. 如何利用Photoshop制作电子签名
  15. Hibernate必须掌握的知识
  16. win2003修改密码后提示确认用户名及域无误_周知!贵州高考志愿填报系统提示!...
  17. 设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类来继承图形类,并实现上述两个方法。并创建实例验证。
  18. jQuery Color Animate (jQuery 颜色变换动画) 插件
  19. CC2530入网流程
  20. 最简单斐波那契数列输出C语言

热门文章

  1. 浏览器端已支持 ES6 规范(包括 export import)
  2. 重复T次的LIS的dp Codeforces Round #323 (Div. 2) D
  3. zhilizhili-ui 2016始动 开始做个样例站吧 (一)
  4. Linux扩展根分区大小
  5. HTML5游戏引擎Egret发布2.0版 开发工具亦获更新
  6. mysql中文编码问题
  7. rails online api
  8. mysql 重置密码语音_数字语音信号处理学习笔记语音信号的同态处理(2)
  9. [转载] Python中定义函数,循环语句,条件语句
  10. AYUSH的完整形式是什么?