1. 程式人生 > >解決IntelliJ IDEA無法讀取配置*.properties檔案的問題

解決IntelliJ IDEA無法讀取配置*.properties檔案的問題

1、如果是maven專案。還可以通過配置pom.xml來實現。(測試通過)

造成此問題的原因在於,部署的目錄下生成的專案中沒有生成相關檔案,通過下面的pom配置,可以解決問題

<build>
      <finalName>webApi</finalName>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins>
<resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.tld</include>
</includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> </build>

這樣不用對idea設定,也可以使用maven的編譯命令編譯專案,並複製配置檔案到編譯好的資料夾中。


2、非maven專案(未測試)

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方式來編譯專案。