0

我正在调查jsprit库。为此,我刚刚在 Eclipse 中创建了一个新项目并复制粘贴了演示示例类。然后我将所有 jar 添加到路径中,包括log4j-1.2.17.jar. 尽管如此,由于以下错误,我无法执行演示代码:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
    at jsprit.core.problem.vehicle.VehicleImpl$Builder.<clinit>(VehicleImpl.java:108)
    at com.test.jsprit.main(jsprit.java:49)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 2 more

它实际上意味着什么以及如何解决这个问题?这是否意味着缺少其他一些 *.jar 文件?

更新:

错误发生在以下行:

Builder vehicleBuilder = VehicleImpl.Builder.newInstance("vehicle");
4

2 回答 2

1

您使用了错误版本的 log4j 库。您需要 2.x 版本。

看:

日志管理器(版本 1.x)

日志管理器(2.x 版)

于 2016-01-07T19:43:06.340 回答
0

log4j-1.2.17.jar实现 log4j 版本 1 及其相当旧。您需要的是 log4j 2 的实现-将其添加为依赖项:link

于 2016-01-07T19:47:00.000 回答