天天看点

解决 IDEA 中src下xml等资源文件无法读取的问题

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

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

但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到的。

下面说说几种解决方法,网上说的都很混乱,我这里做一个总结:推荐方法4

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

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

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

<build>  

    <resources>  

        <resource>  

            <directory>src/main/java</directory>  

            <includes>  

                <include>**/*.xml</include>  

            </includes>  

        </resource>  

    </resources>  

</build>  

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

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

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

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

project structure -> modules -> sources -> 选择包含配置文件的package -> mark as -> 选择第三个 resources ->

ok

4.将package添加到classpath里:

project struture -> modules -> dependencies -> "+" -> jars or directories -> 选择包 

-> 弹出choose categories of selected files -> 选择classes -> ok

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

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

转载:http://blog.csdn.net/shifangwannian/article/details/48882201