zoukankan      html  css  js  c++  java
  • 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:workspacemewebsrcmainjava</sourceDirectory>  源代码文件夹  
    2. <scriptSourceDirectory>D:workspacemewebsrcmainscripts</scriptSourceDirectory>  脚本  
    3. <testSourceDirectory>D:workspacemewebsrc estjava</testSourceDirectory> 测试代码  
    4. <outputDirectory>D:workspacemeweb argetclasses</outputDirectory> 编译后输出的目录  
    5. <testOutputDirectory>D:workspacemeweb arget est-classes</testOutputDirectory> 测试代码编译输出目录  
    6. <resources> 资源文件夹,可配置多个  
    7.   <resource>  
    8.     <directory>D:workspacemewebsrcmain esources</directory> 资源文件目录  
    9.     <includes> 包含的文件  
    10.       <include>*.*</include>  
    11.     </includes>  
    12.   </resource>  
    13. </resources>  
    14. <testResources>  
    15.   <testResource>  
    16.     <directory>D:workspacemewebsrc est esources</directory> 测试资源目录  
    17.   </testResource>  
    18. </testResources>  
    19. <directory>D:workspacemeweb arget</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>  
  • 相关阅读:
    uniapp
    vue -element admin 修改request,headers添加参数
    uniapp
    css
    uniapp
    uniapp
    vue
    vue
    vue -element 修复select下拉框在移动端需要点击两次才能选中的问题
    vue
  • 原文地址:https://www.cnblogs.com/jianyungsun/p/6699216.html
Copyright © 2011-2022 走看看