最近在学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来说,就有以下几种解决方案。
- 将配置文件放到Resources文件夹中,在代码中添加配置文件的虚拟路径。选中文件,右键-Copy Reference,就可以获取到文件的虚拟路径。
- 把配置文件放在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>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
这样不用对idea设置,也可以使用maven的编译命令编译项目,并复制配置文件到编译好的文件夹中。
- 那么问题是, 难道intellij必须以这种分开的方式来管理源码和资源文件嘛? 并不是的, intellij也可以像eclipse那样把source 和resource搅成一锅粥,下边来介绍怎么搞
- 这里需要注意一下,Intellij IDEA Version 2016.2.5 是有bug的, 有的时候, source下的资源文件是可以复制到目标文件夹的, 有的时候, 会被无视掉. 本文解决的问题就是, 当你的intellij不再帮你复制资源文件的时候, 你如何通过操作来让intellij自动帮你将资源文件拷贝到输出文件夹
- 我直接从朋友服务器上checkout一个项目
- 对这个项目做一些该做的配置, 比如输出文件夹啊, 库的位置啊, 还有部署一下tomcat啊
- 点运行之后, 可以看到, classes文件可以成功编译过来, 但是配置文件是过不来的
- 可以这样解决
- 之后到setting里边做如下的设置--这两步就能完全解决问题
首先打开setting 的build --> Compiler --> 把!?*.java 里边的?给删了 变成!*.java
下边打上勾
- 配置文件就都可以过来了
相关推荐
例如,如果你的代码需要读取某个模块下的配置文件,或者执行某些文件操作,确保工作目录正确设置是非常关键的。 此外,如果你有多个module,并且每个module有不同的运行配置,可能需要为每个module单独设置`Working...
本文档通过一步步指导如何在 IntelliJ IDEA 中配置 GeoTools 环境,并创建了一个简单的 Maven 项目作为示例。通过这种方式,初学者可以快速上手 GeoTools 的基本使用,并为进一步的学习打下坚实的基础。未来的学习...
此外,IDEA也提供了多种调试工具,来帮助开发者快速定位和解决问题。例如,IDEA的调试工具可以对代码进行单步调试、断点调试、变量监视等等。这些功能可以帮助开发者快速地找到问题的根源,并对问题进行解决。 mac ...
在开发Java应用时,我们经常会遇到配置文件,如`.properties`文件,用于存储应用程序的配置信息。这些文件可能包含中文字符,但在某些情况下,使用IntelliJ IDEA打开这些文件时可能会出现中文乱码的问题。这主要是...
在给定的文件列表中,`pom.xml`是Maven项目的配置文件,可能包含Filter的配置;而`src`目录通常包含源代码和资源文件,其中的资源文件可能会用到Maven Filter。分析这些文件可以帮助我们定位问题所在,修复配置或...
【标题】"IntelliJ IDEA 中调用 Kettle 9.2.0.0-290 示例"涉及的关键知识点主要包括IntelliJ IDEA的集成开发环境(IDE)使用以及Kettle(Pentaho Data Integration,PDI)工具的集成与执行。Kettle是一款强大的ETL...
通过导入这些文件,新版本的IntelliJ IDEA就能匹配你的旧版本配置,使你能够无缝地从旧版本过渡到新版本。需要注意的是,有些新版本可能会有新增或更改的设置项,导入旧设置后可能需要手动调整,以充分利用新版本的...
配置文件mybatis-config.xml定义了数据源和事务管理器,Mapper接口和XML配置文件定义了SQL操作。 4. **IntelliJ IDEA设置**:为了配置SSM环境,开发者需要在IDEA中创建一个新的Maven项目,添加相关的SSM依赖。此外...
本文将详细阐述如何解决这一问题,步骤非常简单,适合所有IntelliJ IDEA用户。 首先,我们要了解出现乱码的根本原因。在计算机系统中,字符编码是用于表示文本的一系列规则。当IDE和运行环境的字符编码不一致时,就...
* 在idea的配置文件中添加-Dfile.encoding=UTF-8,例如在idea > bin > idea.exe.vmoptions或idea64.exe.vmoptions文件中添加该命令行参数。 * 使用其他编码格式,例如GBK或GB2312等,但是这可能会导致其他问题。 ...
### IntelliJ IDEA 常用操作说明 #### 一、项目与模块管理 ##### 1.1 项目 在 IntelliJ IDEA 中,项目管理有着独特的逻辑。与 Eclipse 不同,IntelliJ IDEA 默认一次只打开一个项目。 - **空项目**:用户可以...
"IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题解决方案" 本文主要介绍了IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题的解决方案。这篇文章详细介绍了 IDEA最新版2020.1的maven工程本地依赖仓库...
在IntelliJ IDEA中开发插件是一项非常实用的技能,可以极大地提高开发效率。本教程将专注于自定义语言的插件开发,特别是如何利用properties文件和customLanguage API来实现这一目标。以下是一些核心知识点: 1. **...
在实际开发中,开发者可能会结合IDE(如IntelliJ IDEA或Eclipse)的特性,比如资源管理器功能,来更方便地管理和读取配置文件。 总之,无论是Web环境还是J2SE环境,读取配置文件都是通过`java.util.Properties`类来...
在Java开发领域,IDEA(IntelliJ IDEA)是一款广泛使用的集成开发环境,以其高效、智能的特性深受程序员喜爱。对于使用MyBatis框架的开发者来说,MyBatis的Mapper接口与对应的Mapper XML文件之间的跳转是日常开发中...
下面将详细介绍如何解决Spring Boot读取配置文件时的中文乱码问题。 首先,我们需要理解编码的基本概念。在计算机中,文本是以二进制形式存储的,而编码则是一种规则,用于将字符转换为二进制和反向转换。UTF-8是最...
在文件选择器中找到项目的`pom.xml`文件,这是Maven项目的配置文件,导入后,IDEA会识别出这是一个Maven项目。 4. **导入依赖**: 导入`pom.xml`后,IDEA会自动读取其中的依赖,并将它们添加到项目的类路径中。在...
这是一个基于Java技术栈的Web开发入门项目实例,主要利用IntelliJ IDEA作为集成开发环境,SpringBoot作为核心框架,Maven作为项目构建工具,JPA(Java Persistence API)作为持久层解决方案,以及Thymeleaf作为视...
它广泛应用于构建语言、工具和框架,包括SQL、HTML、XML、配置文件、编程语言以及各种通信协议等。ANTLR可以生成Java、C#、Python、JavaScript等多种目标语言的解析器和词法分析器。 IntelliJ IDEA是一款非常流行的...
"IDEA使用properties配置文件进行mysql数据库连接的教程图解" 本教程主要介绍了使用IDEA中的properties配置文件来连接mysql数据库的步骤。properties配置文件是一种可以永久存储到文件中的key-value集合,它的键和...