J'essaye de faire fonctionner log4j2 dans Netbeans. Peu importe ce que je fais, je reçois les erreurs suivantesException dans le fil "principal" 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)
Je suis les instructions ici Setting up log4j2 et d'essayer d'exécuter le même programme de démonstration.
J'ai essayé de trouver la solution et trouvé cette publication.
Cet article Class not found est une copie exacte de mon problème, mais aucune réponse efficace n'a été publiée.
J'ai ajouté log4j-core-2.8.2.jar et log4j-1.2-api-2.8.2.jar aux bibliothèques du projet. Ces deux fichiers sont installés dans un sous-dossier du dossier src principal afin qu'ils soient sur le chemin d'accès aux classes.
Netbeans est installé sur une nouvelle version d'Ubuntu. Ce qui est frustrant, c'est que j'ai réussi à le faire tourner sur une machine Windows.
J'ai essayé de créer un nouveau projet avec seulement cette classe logdemo. J'ai ajouté les fichiers jar log4j2 à la bibliothèque. J'ai également ajouté la commande -Dlog4j.configurationFile=/home/test/config/log4j2.xml
à la boîte Run> VM Options.
Je reçois toujours exactement le même message d'erreur.
J'ai vérifié mon installation.
[email protected]:~$ java -version
java version "1.8.0_144" Java (TM) SE Runtime Environment (build 1.8.0_144-B01) Java HotSpot (TM) 64 bits serveur VM (build 25,144-B01, mode mixte) J'ai trouvé ce poste sur setting Java Environment in Ubuntu. J'aurais pensé qu'utiliser apt-get aurait créé l'environnement, mais j'ai peut-être tort.
J'ai vérifié/etc/environment. Aucune mention de Java là-bas. Aucun chemin Java exporté dans .bash.rc non plus. Aucun fichier Java dans/etc/profile.
Il semble y avoir un certain nombre d'endroits où le chemin peut être défini. J'ai trouvé cet article Setting PATH variables in Ubuntu. C'est moderne et utile. Je trouve également ce poste Setting Java path variables in Ubuntu
j'ajouté ce qui suit à mon profil de la maison ~/.profile
JAVA_HOME=/usr/lib/jvm/default-java
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
Note de l'utilisation par défaut-java. Ceci est un lien symbolique vers le JDK. J'espère que si/quand je passe à la prochaine version, apt-get changera le lien. Après un redémarrage d'Ubuntu pour voir si cela a résolu le problème, pas de changement.
Toutes les suggestions pour trouver la cause du problème seraient les bienvenues.