java-从Maven junit中的依赖项jar加载文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-从Maven junit中的依赖项jar加载文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1283字,纯文字阅读大概需要2分钟。
内容图文
![java-从Maven junit中的依赖项jar加载文件](/upload/InfoBanner/zyjiaocheng/672/aad86e22b4d1441d8e04605e90df9295.jpg)
我正在使用maven 2.1.0,并且有一个包含多个模块的项目.
示例模块:
> SPR资源
>常见
spr-common依赖于spr-resources
spr-resources仅包含文件,不包含类.
spr-common有一个junit,它需要从spr-resources jar中加载文件.
我用了:
String fileName = getClass().getResource("/jaskeyfile.3DES").getFile();
is = getClass().getClassLoader().getResourceAsStream(fileName);
is.read(data);
当我在IntelliJ中运行测试时,此方法有效,但是当我执行mvn测试时,当我尝试对其执行read()时,它将失败并显示NullPointerException.
为什么会这样呢?它应该可以从依赖项读取文件.
另外,spr-common中的pom.xml依赖于spr-resources(在使用范围测试和不使用范围测试的情况下都进行了尝试)
编辑:
我也尝试过
getClass().getClassLoader().getResourceAsStream("/jaskeyfile.3DES");
没有运气.
编辑2:
给定的文件存在于生成的jar中,因此我想它应该可以访问.
解决方法:
仔细检查一切
以下是要处理的列表:
>文件jaskeyfile.3DES位于spr-resources模块内的src / main / resources中
>您的本地存储库包含最新版本的spr-resources-x.y.z-SNAPSHOT.jar(或者您已将其发布/直接版本化),并且您肯定在其上使用了mvn clean install
> spr-common模块正在引用spr-resources-x.y.z.jar的正确(命名)版本(在测试和编译类路径上都可以看到编译范围)
如果以上所有条件均成立,则您的getClass().getResourceAsStream(“ / jaskeyfile.3DES”)调用应该可以工作.我在项目中一直使用这种结构,因此您在这里不需要月亮或其他任何东西.
内容总结
以上是互联网集市为您收集整理的java-从Maven junit中的依赖项jar加载文件全部内容,希望文章能够帮你解决java-从Maven junit中的依赖项jar加载文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。