IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法
出处:https://www.cnblogs.com/SunSpring
eclipse下面创建的Maven项目,使用mybatis。eclipse里面能正常启动,在idea中一直卡在maybatis 加载位置。
1、首先是不报错也没反应。这个时候需要我们重写SqlSessionFactoryBean 让错误显示出来。
public class BeanFactory extends SqlSessionFactoryBean { @Override protected SqlSessionFactory buildSqlSessionFactory() throws IOException { try { return super.buildSqlSessionFactory(); } catch (NestedIOException e) { e.printStackTrace(); throw new NestedIOException("Failed to parse mapping resource:", e.getCause()); } } }
2、修改applicationContext.xml 中的mybatis配置。
<bean id="sqlSessionFactory" class="com.util.BeanFactory"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:mybatis-config.xml" /> </bean>
这样就能打印出mybatis加载过程的错误。
重新启动项目调试,报错提示找不到mybatis-config.xml 中配置的**mapper.xml文件。打开编译的target文件找到对应的mapper.xml目录发现果然没有xml文件,我们知道maven项目的标准项目结构如下:
(1)src/main/java:存放主代码
(2)src/main/resources:存放项目的资源文件,如:Spring 的核心配置文件
(3)src/test/java:存放测试代码
(4)src/test/resources:存放测试的资源文件
(5)target:目标文件输出位置,如:编译后的 .class 文件
(6)pom.xml:Maven 项目的核心配置文件
(7)src/main/webapp :它是 Web 项目的主目录,用于存放 .jsp、.js、.css 等文件
我们习惯把mybatis的mapper.xml文件Mapper.java放一起,都在src/main/java下面,这样maven打包时,如果没有设置为资源文件则maven不会打包,maven认为src/main/java只是java的源代码路径。可以看到idea里面Modules,只有src/test/resources是ResourceFolders。
解决办法:修改pom.xml,还有其他方法自己可以看下。
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> </resource> </resources> </build>
然后再重新编译项目就行了。
特别提醒:idea有时候修改了pom.xml文件没有重新加载,重新编译项目的时候还是不行。这个时候我们要再maven那里点击下“Reimport” 按钮,重新加载下。
我就是这个原因搞了很久都没找到问题。
以上就是IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法的详细内容,更多关于IDEA 将xml编译进classes的资料请关注脚本之家其它相关文章!
相关文章
mybatis-plus多表分页查询最佳实现方法(非常简单)
这篇文章主要给大家介绍了关于mybatis-plus多表分页查询最佳实现方法,文中介绍的方法非常简单,MyBatis-Plus中分页查询是比较方便的,这个功能在网站中也是非常常用的,这方面的知识点是必备的知识点,需要的朋友可以参考下2023-08-08MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)
本文主要介绍了MyBatis-Plus实现2种分页方法,主要包括QueryWrapper查询分页和SQL查询分页,具有一定的参考价值,感兴趣的可以了解一下2021-08-08Spring Boot security 默认拦截静态资源的解决方法
这篇文章主要介绍了Spring Boot security 默认拦截静态资源,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03
最新评论