首页 > 解决方案 > 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

我如何解决这个问题并准确地从目标获取资源?

标签: javaurlpathresourcesclassloader

解决方案


推荐阅读