解决IntelliJ IDEA无法读取配置*.properties文件的问题

来源:互联网 发布:腾网淘宝小号交易平台 编辑:程序博客网 时间:2024/05/29 09:15

转载自:http://www.cnblogs.com/zqr99/p/7642712.html


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方式来编译项目。



2、如果是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的编译命令编译项目,并复制配置文件到编译好的文件夹中。

阅读全文
0 0
原创粉丝点击