jetty の 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");
を介してtinylog構成をフィードしていますjava -cp tinylog.properties
。私のコードに何か問題がありますか?