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>  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM