java - Maven项目里,Junit的test程序不能直接访问src/test/resource里的文件?
迷茫
迷茫 2017-04-18 10:39:41
[Java讨论组]
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
大家讲道理

楼主想要获取example.xml可以使用如下2种方式

AppTest.class.getResource("/example.xml");
AppTest.class.getClassLoader().getResource("example.xml");

Java资源路径

File 文件路径

  1. 路径以/开头则是指向磁盘根目录。如/usr/local/bin/xxx则是指向根目录中/usr目录

  2. 路径以文件(文件夹)名开头则是相对于user.dir目录下的文件。如example.xml实际指向的文件是System.getProperty("user.dir") + "example.xml"文件

CLASSPATH 资源路径

CLASSPATH 资源有class.getResource()classLoader.getResource()两种获取方式

  1. 如果Test.class.getResource()资源是以/开头则指向CLASSPATH根目录

  2. 如果Test.class.getResource()是以文件(包名)开头则相对Test.class文件所在查找资源

  3. Test.class.getClassLoader().getResource()是以CLASSPATH根目录查找资源只能以文件(包名)开头

PHPz

你这个问题前天正好我也遇到了,解决方案是:菜单栏 File-Project Structure,打开的界面选择Moudles,如附件图片即可正常方案resource下面的配置文件了

然后在pml.xml文件build标签下加入:

<resources>
            <!--表示把java目录下的有关xml文件,properties文件编译/打包的时候放在resource目录下-->
            <resource>
                <directory>${basedir}/src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
            </resource>
        </resources>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号