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 ...
随机推荐
- Linux安装pear包
一.安装pear包. 1.安装: $ sudo wget http://pear.php.net/go-pear.phar $ sudo php go-pear.har 2.查看pear下安装的包: ...
- 通过jdbc获取数据库中的表结构 主键 各个表字段类型及应用生成实体类
http://www.cnblogs.com/lbangel/p/3487796.html 1.JDBC中通过MetaData来获取具体的表的相关信息.可以查询数据库中的有哪些表,表有哪些字段,字段的 ...
- 2721: [Violet 5]樱花|约数个数
先跪一发题目背景QAQ 显然x,y>n!,然后能够设y=n!+d 原式子能够化简成 x=n!2d+n! 那么解的个数也就是n!的因子个数,然后线性筛随便搞一搞 #include<cstdi ...
- PostgreSQL10.5安装详细步骤(Win10)
一.PostgreSQL安装: 作者:qq2648008726 来源:CSDN 原文:https://blog.csdn.net/u012325865/article/details/81951916 ...
- 开启mysql远程登录
开发过程中经常遇到远程访问mysql的问题,每次都需要搜索,感觉太麻烦,这里记录下,也方便我以后查阅. 首先访问本机的mysql(用ssh登录终端,输入如下命令): mysql -uroot -p 输 ...
- stm32点亮LED 测试代码及目录结构
. main.c - 使用PB12, PB13, PB14, PB15, PB5, PB6, PB7 这七个PB口点亮LED. 注意PB3和PB4是特殊口, 直接调用无效. #include &quo ...
- C++中的class (1)
1.public:public表明该数据成员.成员函数是对全部用户开放的,全部用户都能够直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,不论什么人都不能 ...
- MySQL与OLAP:分析型SQL查询最佳实践探索
搞点多维分析,糙快猛的解决方式就是使用ROLAP(关系型OLAP)了.数据经维度建模后存储在MySQL,ROLAP引擎(比方开源的Mondrian)负责将OLAP请求转化为SQL语句提交给数据库.OL ...
- Easyui入门视频教程 第06集---Layout初始化和属性方法使用
目录 ----------------------- Easyui入门视频教程 第09集---登录完善 图标自定义 Easyui入门视频教程 第08集---登录实现 ajax button的使用 ...
- 像python一样运行js的__main__
在测试时,使用单文件进行简单测试既简洁又清晰.js其实也是可以做到的 if (require && require.main == module) { console.log(&quo ...