私はlog4j2をNetbeansで動かそうとしています。どんなに私は何をすべきか、私は次のエラースレッド "main"の例外java.lang.NoClassDefFoundError:org/apache/logging/log4j/LogManager
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at java.lang.ClassLoader.defineClass1(Native Method)
...
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)14
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
を取得していない私はここ Setting up log4j2 指示に従うと、同じデモ・プログラムを実行しようとしています。
私は解決策を見つけようとしましたが、この投稿が見つかりました。 Similar Problem here
この投稿Class not foundは私の問題の正確な複製ですが、有効な回答は掲載されていません。
私はlog4j-core-2.8.2.jarとlog4j-1.2-api-2.8.2.jarをプロジェクトライブラリに追加しました。これらの2つのファイルは、メインsrcフォルダのサブフォルダにインストールされ、クラスパス上にあります。
Netbeansは新しいUbuntuビルドにインストールされています。残念なことは、Windowsマシンでこれを実行できることです。
私は、このlogdemoクラスだけで新しく新しいプロジェクトを作成しようとしました。 log4j2 jarファイルをライブラリに追加しました。また、実行> VMオプションボックスにコマンド-Dlog4j.configurationFile=/home/test/config/log4j2.xml
を追加しました。
まだまったく同じエラーメッセージが表示されます。
インストールを確認しました。
[email protected]:~$ java -version
Javaバージョン "1.8.0_144" のJava(TM)SEランタイム環境(ビルド1.8.0_144-B01) は、Java HotSpot(TM)64ビットサーバーVM(25.144-B01、混合モードを構築します)
この投稿はsetting Java Environment in Ubuntuに見つかりました。私はapt-getを使うと環境をセットアップすると思っていただろうが、間違っているかもしれない。
私は/ etc/environmentをチェックしました。そこにJavaの言及はありません。 .bash.rcにエクスポートされたjavaパスもありません。 /etc/profileにjavaがありません。
パスを設定できる場所は数多くあるようです。私はこの投稿を見つけたSetting PATH variables in Ubuntu。モダンで便利です。 はまた、私は〜/ .profileに
JAVA_HOME=/usr/lib/jvm/default-java
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
注デフォルト-Javaを使用私の家のプロファイルに以下の追加この記事Setting Java path variables in Ubuntu
を見つけました。これは、JDKへのシンボリックリンクです。次のバージョンにアップグレードすると、apt-getがリンクを変更することを願っています。
Ubuntuを再起動して問題が解決したかどうかを確認した後、変更はありません。
問題の原因を見つけるためのご提案を歓迎いたします。