将Eclipse工具下的项目转到idea开发工具下遇到的问题

本文介绍了在将Eclipse项目迁移到IDEA时遇到的资源文件无法读取的问题,主要是由于IDEA对classpath的处理方式不同。文章提供了四种解决方案:1) 将资源文件放在resources文件夹下;2) 配置maven的pom.xml文件;3) 使用Mark Directory As Resources标记包含配置文件的包;4) 将包添加到classpath。作者还提到,这些方法在发布时都能包含资源文件,但是否生效还需实际测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 解决idea 中 src 下 xml资源无法读取的问题:


解析:

该问题的实质是,idea对classpath的规定。

在eclipse中,把资源文件放在src文件夹下,是可以找到的;

但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到的,这是工具自身的问题:

 

下面说说几种解决方法,网上说的都很混乱,我这里做一个总结:推荐4中方法,希望可以帮助你:

 

1.将所有资源文件放在resources文件夹下

这样做很方便,比较容易想到,但是层次性就很差了,比如mybatis的映射配置文件mapper.xml,本来需要放在特定的包里面,与dao层,service层等层次为同一个层级,如今只能放在resource文件夹下,不方便分层;

 

2.如果该项目是maven项目:

配置maven的pom文件配置,在pom文件中找到<build>节点,添加下列代码:


  1. <build>  
  2.     <resources>  
  3.         <resource>  
  4.             <directory>src/main/java</directory>  
  5.             <includes>  
  6.                 <include>**/*.xml</include>  
  7.             </includes>  
  8.         </resource>  
  9.     </resources>  
  10. </build>  

我尝试过将directory修改为具体的放置配置文件的包,即修改成 src/main/java/lj/ncepu/mapperXML,然后<include>标签里面也做了很多修改和尝试,始终无法访问到配置文件;

所以,直接使用上面这样的配置就好;如果还是不能访问,欢迎跟帖讨论;如果你知道应该怎么样修改,也请跟帖讨论,谢谢~

参考:IDEA

 maven项目中src源代码下的xml等资源文件编译进classes文件夹



3.将包含配置文件的包,mark directory as ... Resources

直接右键点击包 -> MarkDirectory As ,你会发现只有一个exclude;怎么办?

Project Structure -> Modules -> Sources -> 选择包含配置文件的package -> Mark as -> 选择第三个 Resources ->

 OK

参考:http://stackoverflow.com/questions/6104551/java-setting-classpath



4.package添加到classpath里:

Project Struture -> Modules -> Dependencies -> "+" ->JARS or directories -> 选择包 

-> 弹出Choose Categories of Selected Files -> 选择Classes -> OK

参考:http://stackoverflow.com/questions/854264/how-to-add-directory-to-classpath-in-an-application-run-profile-in-intellij-idea


5.如果以上方法不可以,你从新开始学习使用:

intellij idea 创建mybatis项目时候找不到xml文件的解决方案:

链接地址:http://www.souvc.com/?p=2791


以上几种方法是在IDEA开发环境中可以找到资源文件,但是具体打包发布是否会包含该资源文件还需具体测试

我的测试结果是,前4种方法均可以在发布时包含package中的xml文件。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值