1.问题实质:
idea对classpath的规定,在eclipse中,把资源文件放在src文件夹下,是可以找到的;但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到的。
2.解决方案:
1.将所有资源文件放在resources文件夹下这样做很方便,比较容易想到,但是层次性就很差了,比如mybatis的映射配置文件mapper.xml,本来需要放在特定的包里面,与dao层,service层等层次为同一个层级,如今只能放在resource文件夹下,不方便分层;
2.如果该项目是maven项目:配置maven的pom文件配置,在pom文件中找到节点,添加下列代码:[html] view plain copy src/main/java **/*.xml 我尝试过将directory修改为具体的放置配置文件的包,即修改成 src/main/java/lj/ncepu/mapperXML,然后标签里面也做了很多修改和尝试,始终无法访问到配置文件;所以,直接使用上面这样的配置就好;如果还是不能访问,欢迎跟帖讨论;如果你知道应该怎么样修改,也请跟帖讨论,谢谢~参考:将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹
3.将包含配置文件的包,mark directory as ... Resources:直接右键点击包 -> Mark Directory 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以上几种方法是在IDEA开发环境中可以找到资源文件,但是具体打包发布是否会包含该资源文件还需具体测试。我的测试结果是,4种方法均可以在发布时包含package中的xml文件。