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

本文介绍了在IntelliJ IDEA(IDEA)中,当从Eclipse迁移Maven项目并遇到MyBatis加载XML配置文件失败的问题时,如何解决。通过重写SqlSessionFactoryBean显示具体错误,然后修改`applicationContext.xml`的MyBatis配置。关键在于调整pom.xml,将src/main/java下的XML文件设为资源文件,确保Maven编译时包含这些文件。最后,如果IDEA未自动重新加载pom.xml更改,需手动点击“Reimport”重新加载。
摘要由CSDN通过智能技术生成

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配置。

这样就能打印出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。

e72e1ffeaea1d53037a4da384d594af8.png

解决办法:修改pom.xml,还有其他方法自己可以看下。

src/main/java

**/*.xml

false

src/main/resources

然后再重新编译项目就行了。

特别提醒:idea有时候修改了pom.xml文件没有重新加载,重新编译项目的时候还是不行。这个时候我们要再maven那里点击下“Reimport” 按钮,重新加载下。

我就是这个原因搞了很久都没找到问题。

25c2e4587c103da8c960d100c0bfbfab.png

以上就是IDEA将Maven项目中指定文件夹下的xml等文件编译进classes的方法的详细内容,更多关于IDEA 将xml编译进classes的资料请关注脚本之家其它相关文章!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值