解決IntelliJ IDEA無法讀取配置*.properties檔案的問題
阿新 • • 發佈:2019-02-19
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來說,就有以下幾種解決方案。
- 將配置檔案放到Resources資料夾中,在程式碼中新增配置檔案的虛擬路徑。選中檔案,右鍵-Copy Reference,就可以獲取到檔案的虛擬路徑。
- 把配置檔案放在com.zjut.ssm.config包中,修改config資料夾的Content Roots為Resources,那麼編譯後,程式碼也能識別出來。
以上兩種解決方案適用於make project方式來編譯專案。