gpt4 book ai didi

java - 使用 corn-cps 扫描匹配通配符模式的配置文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:38 25 4
gpt4 key购买 nike

我正在尝试扫描我的类路径以查找与特定模式匹配的配置文件。我正在使用 corn-cps .

我要找的文件是打包在jar里的,用java的默认就可以找到

MyClass.class.getClassLoader().getResource("jmulticonfig.3.properties")

返回

jar:file:/tmp/testjar.jar!/jmulticonfig.3.properties

我想找到所有的 jmulticonfig.*.properties 所以我的 corn-cps 代码是

List<URL> resources = CPScanner.scanResources(
new ResourceFilter()
.packageName("*")
.resourceName("jmulticonfig.*.properties")
);

当我运行它时返回一个空列表。

任何有 corn-cps 经验的人都可以提供帮助或建议其他方式吗?

编辑:采纳@approxiblue 的好建议,可以在https://github.com/kanesee/jmulticonfig 找到代码。 .请确保将 src/main/resources/jmulticonfig-3.jar 添加到您的类路径中。它包含 jmulticonfig.3.properties,这是我尝试使用 corn-cps 读取的文件

最佳答案

我认为您在 corn-cps 库中发现了某种错误,因为如果您调试运行您的代码的类,似乎存在资源名称丢失的地方。

无论如何,以下 JmultiConfig.getConfig() 实现会找到您使用正则表达式搜索的所有资源:

public static synchronized Properties getConfig() {
System.out.println("---");
if (s_props == null) {
List<URL> resources = CPScanner.scanResources(new ResourceFilter().archiveName("*"));
for (URL resource : resources) {
if (resource.getFile().matches(".*jmulticonfig\\..*\\.properties$")) {
System.out.println("*** -> " + resource);
}
}

}
return s_props;
}

可以修改正则表达式以匹配您需要的任何内容。

关于java - 使用 corn-cps 扫描匹配通配符模式的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33068391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com