IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法

 更新时间:2021年01月29日 09:14:13   作者:XSpringSun  
这篇文章主要介绍了IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法,帮助大家更好的利用IDEA进行Java的开发学习,感兴趣的朋友可以了解下

出处: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的资料请关注脚本之家其它相关文章!

相关文章

  • java 四舍五入使java保留2位小数示例讲解

    java 四舍五入使java保留2位小数示例讲解

    这篇文章主要介绍了java四舍五入使java保留2位小数示例,大家参考使用
    2013-12-12
  • Java集合-HashMap

    Java集合-HashMap

    这篇文章主要介绍了Java集合HashMap,也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,下面来看看文章的具体内容吧,需要的小伙伴也可参考一下
    2022-01-01
  • EasyExcel实现导入+各种数据校验功能

    EasyExcel实现导入+各种数据校验功能

    这篇文章主要介绍了EasyExcel实现导入+各种数据校验,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • SpringBoot项目引入token设置方式

    SpringBoot项目引入token设置方式

    本文详细介绍了JWT(JSON Web Token)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在Spring Boot项目中实现JWT的生成、验证和拦截器配置
    2025-01-01
  • java9学习系列之在docker中如何运行java9

    java9学习系列之在docker中如何运行java9

    最近在学习java9,所以将学习中遇到的一些知识点分享给大家,下面这篇文章主要给大家介绍了java9学习系列之在docker中如何运行java9的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-09-09
  • springboot +rabbitmq+redis实现秒杀示例

    springboot +rabbitmq+redis实现秒杀示例

    本文主要介绍了springboot +rabbitmq+redis实现秒杀示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • go语言题解LeetCode88合并两个有序数组示例

    go语言题解LeetCode88合并两个有序数组示例

    这篇文章主要为大家介绍了go语言题解LeetCode88合并两个有序数组示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • SpringBoot整合MongoDB的步骤详解

    SpringBoot整合MongoDB的步骤详解

    这篇文章主要介绍了SpringBoot整合MongoDB的步骤详解,帮助大家更好的理解和学习使用SpringBoot框架,感兴趣的朋友可以了解下
    2021-04-04
  • IDEA创建Servlet程序的两种实现方法

    IDEA创建Servlet程序的两种实现方法

    Servlet是JavaWeb应用程序中不可或缺的组件之一,本文主要介绍了IDEA创建Servlet程序的两种实现方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • mybatis-plus使用问题小结

    mybatis-plus使用问题小结

    这篇文章主要介绍了mybatis-plus使用问题汇总,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论