maven配置src/resources默认目录
在maven工程中,我们会将配置文件放到,src/main/resources 下面,例如
我们需要确认resource 下的文件 编译之后存放的位置
它编译的路径直接位于classes下面,这个路径其实就是classPath的路径,所以,在resources 根目录下的配置文件其实就是 classPath的路径
- public static void main(String[] args) throws ParserConfigurationException, Exception{
- ClassLoader classLoader = TestDom.class.getClassLoader();
- URL resource = classLoader.getResource("test.xml");
- String path = resource.getPath();
- System.out.println(path);
- InputStream resourceAsStream = classLoader.getResourceAsStream("test.xml");
这样我们就可以直接拿到路径,调用 getResourceAsStream 方法 可以直接拿到目标文件的输入流
Maven 为我们提供了一致的项目目录配置(源文件夹、资源文件夹等),在自动构建项目时, Maven 会按照这个配置来执行操作(编译源文件、拷贝资源文件)。
当 Maven 规约的默认配置不能够满足我们的需求时,我们就要动手修改项目的 Maven 配置,让我们的项目能够与 Maven 很好地协同工作。这里讨论的需求有:
- 配置多个源文件夹来管理我们项目的模块
- 配置多个资源文件夹来管理我们项目模块的资源文件
- 有些遗留代码的一些资源文件是放在源文件夹下的,为了不改变原有项目结构,我希望 Maven 能够从源文件夹下读取资源文件
- 我想将项目模块的源文件和资源文件放置在同一个文件夹下,以方便开发与维护
- <sourceDirectory>D:\workspace\meweb\src\main\java</sourceDirectory> 源代码文件夹
- <scriptSourceDirectory>D:\workspace\meweb\src\main\scripts</scriptSourceDirectory> 脚本
- <testSourceDirectory>D:\workspace\meweb\src\test\java</testSourceDirectory> 测试代码
- <outputDirectory>D:\workspace\meweb\target\classes</outputDirectory> 编译后输出的目录
- <testOutputDirectory>D:\workspace\meweb\target\test-classes</testOutputDirectory> 测试代码编译输出目录
- <resources> 资源文件夹,可配置多个
- <resource>
- <directory>D:\workspace\meweb\src\main\resources</directory> 资源文件目录
- <includes> 包含的文件
- <include>*.*</include>
- </includes>
- </resource>
- </resources>
- <testResources>
- <testResource>
- <directory>D:\workspace\meweb\src\test\resources</directory> 测试资源目录
- </testResource>
- </testResources>
- <directory>D:\workspace\meweb\target</directory>
找到maven目录结构配置,就知道怎么修改配置了,可以在pom.xml 中project -- build标签中配置maven目录结构,使其符合自身项目需要
- <sourceDirectory>src/main</sourceDirectory>
- <resources>
- <resource>
- <filtering>true</filtering>
- <directory>src/resources</directory>
- <includes>
- <include>*.*</include>
- </includes>
- </resource>
- </resources>
也可以配置多个资源目录
- <sourceDirectory>src/main</sourceDirectory>
- <resources>
- <resource>
- <filtering>true</filtering>
- <directory>src/resources</directory>
- <includes>
- <include>*.*</include>
- </includes>
- </resource>
- <resource>
- <directory>test</directory>
- <includes>
- <include>*.*</include>
- </includes>
- </resource>
- </resources>
maven配置src/resources默认目录的更多相关文章
- maven工程src/main/java目录无法创建问题
在项目上右键选择properties,然后点击Javabuild path,在Librarys下,编辑JRE System Library,选择 workspace default jre 即可
- 解决idea中maven项目无法读取src/main/java目录下面的配置文件问题
解决idea中maven项目无法读取src/main/java目录下面的配置文件问题 当我们在maven项目中使用Mybatis的时候,需要给Mybatis配置核心xml文件(MyBatis-Conf ...
- MAVEN 工程打包resources目录外的更多资源文件
首先,来看下MAVENx项目标准的目录结构: 一般情况下,我们用到的资源文件(各种xml,properites,xsd文件等)都放在src/main/resources下面,利用maven打包时,ma ...
- 新建Maven项目建成后本应该有的src/main/java和src/test/java目录并没有出现:
转自:http://www.cnblogs.com/dong-dong-dong/p/9565466.html 新建Maven项目建成后本应该有的src/main/java和src/test/java ...
- 【Maven】1.使用myecplise配置自己的Maven配置,不使用默认的maven
[好文章]参考地址: http://www.cnblogs.com/luotaoyeah/p/3764533.html ---------------------------------------- ...
- 怎么配置Jupyter Notebook默认启动目录?
前言 系统环境:win10 x64:跟环境也没啥关系,在LInux下也一样... 前段时间重换了系统后,发现Jupyter Notebook的默认启动目录不太对呀,所以,就翻到了以前的笔记,还是记在这 ...
- maven 配置: 修改默认的 .m2仓库 默认存储路径.
maven 配置: 修改默认的 .m2仓库 默认存储路径. 一 .在系统maven里修改 1.在maven_HOME/conf/下找到配置文档 settings.xml 在文档中添加如下的配置说明 & ...
- 给idea设置默认使用的maven配置
一,前言 大家都知道,java开发中最经常使用的开发工具是Maven,最近看新同事在使用idea,我也下载了一个,准备尝试一下. 而maven是非诚方便进行工程管理的,至少管理jar包,是非常方便的, ...
- net core静态文件 访问除默认目录文件配置
在我们项目的实际应用中,不光是需要访问默认静态文件夹 wwwroot ,还有可能要要去访问除默认目录以外的文件夹,接下来我们进行配置 1.在根目录创建一个文件夹,继续创建它的子文件夹Images,在I ...
随机推荐
- Android studio 将 Module 打包成 Jar 包
整理记录 AndroidStudio 把一个 module 项目打包成 jar 包. 一.默认自动生成的 jar 包 众所周知 android studio 会在library所依赖的 app运行 或 ...
- 【树莓派】Squid代理以及白名单配置
Squid安装: sudo apt-get install squid3 -y 首先,建议备份一下这个配置文件,以免配错之后,无法恢复,又得重新安装: sudo cp /etc/squid3/squi ...
- 算法笔记_223:打印回型嵌套(Java)
目录 1 问题描述 2 解决方案 1 问题描述 *********** * * * ******* * * * * * * * *** * * * * * * * * * * *** * * * ...
- Java对象在虚拟机中的创建、内存分布、访问定位以及死亡判定
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6535156.html 一:虚拟机中对象的创建 1:虚拟机遇到new指令时,在常量池检索是否有对应的符号引用, ...
- 多表连接的三种方式详解 hash join、merge join、 nested loop
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式.多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join.具体适用哪 ...
- Oracle Data Integrator 12cR1 (12.1.3.0.0)安装过程
Oracle Data Integrator 12cR1 (12.1.3.0.0)安装过程 下载安装文件 Oracle Data Integrator 12cR1 (12.1.3.0.0) http: ...
- Java项目持续集成检查项
1) 检查项:使用Super POM. 2) 检查项:GroupID应该以特定名称开头.3) 检查项:版本号符合规范.版本号必须是三段数字,之后加或不加-SNAPSHOT.4) 检查项 ...
- 江南白衣整理和开发的java常用工具类
江南白衣的公众号的介绍文章:http://mp.weixin.qq.com/s/6JUo1vmUa-7SuDH6yIxKeQ github的地址:https://github.com/springsi ...
- django之创建第4-3个项目-访问list数据
1.index <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- python之模块poplib之常见用法
# -*- coding: cp936 -*- #python 27 #xiaodeng #python之模块poplib之常见用法 ''' 所以,收取邮件分两步: 第一步:用poplib把邮件的原始 ...