A-A+

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

2016年08月03日 Linux 教程 暂无评论 阅读 798 次

最近在学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集成开发环境图文教程 2015-09/123416.htm

IntelliJ IDEA 12 创建Web项目图文详细教程 2013-05/84213.htm

用IntelliJ IDEA开发Android程序图文教程 2013-03/81471.htm

IntelliJ IDEA 12开发haXe NME应用配置指南 2013-01/77227.htm

IntelliJ IDEA运行Play Framework的test mode 2013-07/87694.htm

Ubuntu 13.04 安装IntelliJ IDEA 12 2013-11/93014.htm

IntelliJ IDEA 12创建Maven管理的Java Web项目(图解) 2014-04/99687p2.htm

IntelliJ IDEA 常用快捷键列表及技巧大全  2015-04/116398.htm 

IntelliJ IDEA 的详细介绍请点这里
IntelliJ IDEA 的下载地址请点这里

标签:

给我留言

Copyright © SEARU.ORG 保留所有权利.   Theme  Ality 网站地图 360网站安全检测平台

用户登录

分享到: