2

アプリケーションに埋め込まれているリソースからLog4jの構成ファイルをロードする方法を知りたいですか?

つまり、コンピューター自体にファイルがなく、ファイルがアプリケーションに埋め込まれているので、それをロードしたいと思います。

以下は私が使用したコードです:

ConfigurationSource source = new ConfigurationSource(Main.class.getResourceAsStream("/in/gunbound/prelauncher/server/log4j2/log4j2.xml"));
ConfigurationFactory factory = (ConfigurationFactory) XMLConfigurationFactory.getInstance().getConfiguration(source);
ConfigurationFactory.setConfigurationFactory(factory);

しかし、結果はこの例外でした:

スレッド「main」の例外java.lang.ClassCastException:org.apache.logging.log4j.core.config.XMLConfigurationをin.gunbound.prelauncher.serverのorg.apache.logging.log4j.core.config.ConfigurationFactoryにキャストできません.Main.main(Main.java:62)

設定ファイルをユーザーに表示したままにしたくないので、この問題が発生しています。

誰か助けてもらえますか?

ありがとう。

4

1 に答える 1

2

これを参照してください。

の戻り値の型XMLConfigurationFactory.getInstance().getConfiguration(source);ConfigurationnotConfigurationFactoryです。

于 2013-02-20T13:16:55.273 に答える