java - classLoader.getResources() 从 m2 包而不是我的目标包中选择资源。爪哇
问题描述
我正在使用类加载器通过路径获取所有资源:
String path = "com/mycompany/api"
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
Enumeration<URL> resources = classLoader.getResources(path);
如果我在运行时使用此代码,它可以很好地工作并从我的目标包中提取资源
file:/home/pc/Desktop/myproject/api/target/classes/com/mycompany/api
但在我的情况下,我使用 mvn clean verify 运行代码,它从 m2 包返回资源。
jar:file:/home/pc/.m2/repository/com/mycompany/starter/0.0.1-SNAPSHOT/starter-0.0.1-SNAPSHOT.jar!/com/mycompany/api
我如何解决这个问题并准确地从目标获取资源?
解决方案
推荐阅读
- printing - ghostscript 和 pdftopdf 的符号查找错误
- java - 为什么我的 Firebase 应用内消息在生产中不可靠?
- html - 如何使用 HTML 和 CSS 的兄弟组合器选择 div 中的元素以更改另一个 div 的比例?
- c++ - const char *p = "some_string" 和 const char[] = "some_string" 在内存分配方面的区别
- webassembly - 为什么 webassembly 有平方根操作码?
- docker - Docker-compose:OCI 运行时创建失败,entrypoint.sh 没有这样的文件或目录
- java - 下载 Android TTS 音频
- c++ - c++ 中的异常处理(在 if 语句中)
- php - 如果网站在 Google 搜索结果中列出,则防止包含 PHP 文件
- angular - 正则表达式匹配 Angular 代理中的各种 URL