在码头上的 JAX-RS 应用程序中加载配置文件时,我遇到了一个疯狂的错误。
public class Configuration {
public static final Properties config = new Properties();
static {
config.clear();
try (InputStream inputStream = Configuration.class.getClassLoader().getResourceAsStream("config.properties")) {
config.load(inputStream);
} catch (Exception ex) {
Logger.error(ex);
}
}
}
如果我放入config.properties
默认包,它工作正常。但是当我加载它时,对象java -cp config.properties
中没有任何内容。config
我已经检查了这些方法,但它不起作用。
ClassLoader.getSystemClassLoader().getResourceAsStream("config.properties");
ClassLoader.getSystemClassLoader().getResourceAsStream("/config.properties");
Configuration.class.getClassLoader().getResourceAsStream("config.properties");
Configuration.class.getClassLoader().getResourceAsStream("/config.properties");
奇怪的是,我在项目中使用 Tinylog 作为 Logger,而 TinyLog 加载其配置文件tinylog.properties
的方式相同:
/* I found this from Tinylog source code */
Configurator.class.getClassLoader().getResourceAsStream("tinylog.properties");
我正在通过java -cp tinylog.properties
. 我的代码有什么问题吗?