maven配置src/resources默认目录

在maven工程中,我们会将配置文件放到,src/main/resources   下面,例如

我们需要确认resource 下的文件 编译之后存放的位置

 

它编译的路径直接位于classes下面,这个路径其实就是classPath的路径,所以,在resources 根目录下的配置文件其实就是 classPath的路径

 

[java]  view plain  copy
 
  1. public static void main(String[] args) throws ParserConfigurationException, Exception{  
  2.         ClassLoader classLoader = TestDom.class.getClassLoader();  
  3.         URL resource = classLoader.getResource("test.xml");  
  4.         String path = resource.getPath();  
  5.         System.out.println(path);  
  6.         InputStream resourceAsStream = classLoader.getResourceAsStream("test.xml");  

这样我们就可以直接拿到路径,调用 getResourceAsStream 方法 可以直接拿到目标文件的输入流

 

Maven 为我们提供了一致的项目目录配置(源文件夹、资源文件夹等),在自动构建项目时, Maven 会按照这个配置来执行操作(编译源文件、拷贝资源文件)。

当 Maven 规约的默认配置不能够满足我们的需求时,我们就要动手修改项目的 Maven 配置,让我们的项目能够与 Maven 很好地协同工作。这里讨论的需求有:

  1. 配置多个源文件夹来管理我们项目的模块
  2. 配置多个资源文件夹来管理我们项目模块的资源文件
  3. 有些遗留代码的一些资源文件是放在源文件夹下的,为了不改变原有项目结构,我希望 Maven 能够从源文件夹下读取资源文件
  4. 我想将项目模块的源文件和资源文件放置在同一个文件夹下,以方便开发与维护
 
      查看maven默认目录结构配置,在项目根路径下查看pom.xml,双击打开点击Effective POM选项,在页面中可以查找到maven默认的目录结构
[html]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. <sourceDirectory>D:\workspace\meweb\src\main\java</sourceDirectory>  源代码文件夹  
  2. <scriptSourceDirectory>D:\workspace\meweb\src\main\scripts</scriptSourceDirectory>  脚本  
  3. <testSourceDirectory>D:\workspace\meweb\src\test\java</testSourceDirectory> 测试代码  
  4. <outputDirectory>D:\workspace\meweb\target\classes</outputDirectory> 编译后输出的目录  
  5. <testOutputDirectory>D:\workspace\meweb\target\test-classes</testOutputDirectory> 测试代码编译输出目录  
  6. <resources> 资源文件夹,可配置多个  
  7.   <resource>  
  8.     <directory>D:\workspace\meweb\src\main\resources</directory> 资源文件目录  
  9.     <includes> 包含的文件  
  10.       <include>*.*</include>  
  11.     </includes>  
  12.   </resource>  
  13. </resources>  
  14. <testResources>  
  15.   <testResource>  
  16.     <directory>D:\workspace\meweb\src\test\resources</directory> 测试资源目录  
  17.   </testResource>  
  18. </testResources>  
  19. <directory>D:\workspace\meweb\target</directory>  

   找到maven目录结构配置,就知道怎么修改配置了,可以在pom.xml 中project -- build标签中配置maven目录结构,使其符合自身项目需要
   修改,源代码路径为src/main,资源路径为src/resources
 
[html]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. <sourceDirectory>src/main</sourceDirectory>  
  2.         <resources>  
  3.             <resource>  
  4.                 <filtering>true</filtering>  
  5.                 <directory>src/resources</directory>  
  6.                 <includes>  
  7.                     <include>*.*</include>  
  8.                 </includes>  
  9.             </resource>  
  10.         </resources>  

也可以配置多个资源目录
[html]  view plain  copy
 
 在CODE上查看代码片派生到我的代码片
  1. <sourceDirectory>src/main</sourceDirectory>  
  2.         <resources>  
  3.             <resource>  
  4.                 <filtering>true</filtering>  
  5.                 <directory>src/resources</directory>  
  6.                 <includes>  
  7.                     <include>*.*</include>  
  8.                 </includes>  
  9.             </resource>  
  10.             <resource>  
  11.                 <directory>test</directory>  
  12.                 <includes>  
  13.                     <include>*.*</include>  
  14.                 </includes>  
  15.             </resource>  
  16.         </resources>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值