1. 程式人生 > 程式設計 >Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

問題展示

原因剖析

處理方案

第一種:調整配置檔案的位置(建議)

第二種:在pom.xml檔案中配置

問題展示

今天試著大了maven+mybatis,以下是我的目錄結構,我的xml檔案是放在java資料夾下的

Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

mappers 標籤配置了需要載入的 Dept的sql對映配置檔案DeptMapper.xml。

Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

其單元測試訪問的時候,報了一個錯

Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

找不到DeptMapper.xml檔案

再看編譯後的檔案,竟然沒有我們的DeptMapper.xml檔案

Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

我試著把DeptMapper.xml檔案放到resouces目錄下

Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

執行單元測試,竟然成功了

Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

再看編譯後的檔案,對應目錄下也有我們的DeptMapper.xml檔案

Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案

原因剖析

為什麼DeptMapper.xml檔案放在java資料夾下就沒被編譯匯出來呢,而放在resouces目錄下就可以,這肯定是和maven有關,原來,預設maven在src/main/java中只編譯java檔案,其他的檔案會被忽略

處理方案

第一種:調整配置檔案的位置(建議)

既然知道了預設maven在src/main/java中只編譯java檔案,其他的檔案會被忽略,那麼我們就把配置檔案放在resouces資料夾下就好了。

第二種:在pom.xml檔案中配置

在pom.xml檔案的<build>標籤中新增以下內容,把java目錄下的檔案也打包編譯

 <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>

以上配置即可滿足,當然為了更完善一點,那就用以下配置,把預設的也給配置上

 <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>

到此這篇關於Maven項src/main/java目錄下配置檔案無法被匯出或者生效的問題和處理方案的文章就介紹到這了,更多相關Maven 配置檔案無法被匯出內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!