歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> 解決IntelliJ IDEA無法讀取配置文件的問題

解決IntelliJ IDEA無法讀取配置文件的問題

日期:2017/3/6 9:25:25   编辑:學習Linux

解決IntelliJ IDEA無法讀取配置文件的問題


解決IntelliJ IDEA無法讀取配置文件的問題


最近在學Mybatis,按照視頻的講解在項目的某個包裡建立配置文件,然後讀取配置文件,但是一直提示異常。
這裡寫圖片描述

讀取配置文件的為官方代碼:

String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();   

經過反復思考,視頻用的ide是eclipse,eclipse裡在包下的配置文件(.propoties 和.xml等)編譯之後會自動復制到編譯後的文件夾中,也就是classes目錄。因此代碼可以通過路徑加載到配置文件。

而現在我們使用的是IntelliJ IDEA,idea對這些配置的文件方式很明顯和eclipse是不同的。在idea中有一個 Content Roots的概念。需要為每一個folder配置相應的Content Roots。Content Roots包括resources、sources、tests等。
這裡寫圖片描述
如圖所示:

  • java文件夾被標注為Sources,那麼下面的所有子文件夾均為Sources,編譯後生成.class文件。
  • Resources文件夾被標注為Resources,那麼在該文件夾下的配置文件在編譯時會自動復制到編譯文件夾中。

那麼對於idea來說,就有以下幾種解決方案。

  1. 將配置文件放到Resources文件夾中,在代碼中添加配置文件的虛擬路徑。選中文件,右鍵-Copy Reference,就可以獲取到文件的虛擬路徑。
  2. 把配置文件放在com.zjut.ssm.config包中,修改config文件夾的Content Roots為Resources,那麼編譯後,代碼也能識別出來。

以上兩種解決方案適用於make project方式來編譯項目。

如果是maven項目。還可以通過配置pom.xml來實現。

 <build>
    <finalName>springmvc-study</finalName>
    <resources>
        <resource>
            <directory>${basedir}/src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <resource>
            <directory>${basedir}/src/main/resources</directory>
        </resource>
    </resources>
 </build>

這樣不用對idea設置,也可以使用maven的編譯命令編譯項目,並復制配置文件到編譯好的文件夾中。

使用IntelliJ IDEA 13搭建Android集成開發環境圖文教程

IntelliJ IDEA 12 創建Web項目圖文詳細教程

用IntelliJ IDEA開發Android程序圖文教程

IntelliJ IDEA 12開發haXe NME應用配置指南

IntelliJ IDEA運行Play Framework的test mode

Ubuntu 13.04 安裝IntelliJ IDEA 12

IntelliJ IDEA 12創建Maven管理的Java Web項目(圖解)

IntelliJ IDEA 常用快捷鍵列表及技巧大全

IntelliJ IDEA 的詳細介紹:請點這裡
IntelliJ IDEA 的下載地址:請點這裡

本文永久更新鏈接地址:

http://xxxxxx/Linuxjc/1147437.html TechArticle

Copyright © Linux教程網 All Rights Reserved