设置rootClassPath问题

如下方式设置了classpath

PathKit.setRootClassPath(System.getProperty("user.dir")+File.separator+"config");

为什么使用PropKit时还是报错:Properties file not found in classpath: api.properties

使用PathKit.getRootClassPath()取出来的路径下面我已经放了配置文件了。

PropKit.use("api.properties")


PropKit.use不管你怎么设置,都是从classpath读取吗?

评论区

hb963724769

2020-11-19 11:08

我的默认classpath是个JAR包,我希望通过修改配置文件而不用重新打jar包,所以我修改了rootclassPath。

JFinal

2020-11-19 11:19

PathKit.setRootClassPath 的时机很重要,不能放在 UndertowServer.start(...) 同级

一般放在 configConstant(Constants me) 中的第一行代码的位置为好

hb963724769

2020-11-19 11:27

@JFinal 找到解决了,需要把PropKit.use("api.properties")改为PropKit.use(PathKit.getRootClassPath()+File.separator+”"api.properties")

JFinal

2020-11-19 11:36

@hb963724769 注意 PropKit.use 还支持 File 参数, 所以你可以灵活使用自己想用的任何路径,例如:
String file = "D:/xxx/yyy/zzz.txt";
PropKit.use( new File( file ) );