您好下, 我使用Intellij 5天,它看起来很不错。所以我创建了一个新的java项目并使用log4j2,简单的业务,一切正常。然后我创建了一个易于部署的工件。问题是,我无法运行/执行工件JAR文件!我收到错误,因为缺少log4j.xml:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at iBox.IBox.<init>(IBox.java:64)
at iboxapp.Start.main(Start.java:28)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Log4j.xml是工件(JAR文件)的一部分。 xml文件的正确位置在哪里?!我不使用Maven,Intellij 2017.2
有什么想法吗?!
THX
答案 0 :(得分:0)
首先,您应该使用正确的构建系统,而不是依赖于IDE。如果你是从头开始我建议gradle。
现在说: 错误不会抱怨缺少xml文件,而是关于缺少类文件。
你是如何创建神器的? 为了测试我只是
没有问题。
答案 1 :(得分:0)
问题是旧的和新的log4j引用的混合。清理完毕后,一切正常。 THX