Hazelcast log4j配置产生“ java.lang.NoClassDefFoundError:org / apache / log4j / Logger”错误

问题描述 投票:1回答:1

我正在尝试使用最新版本在Windows上设置Hazelcast log4j日志记录。

我添加了配置:

  <properties>
        <property name="hazelcast.logging.type">log4j</property>
  </properties>

我从hazelcast bin文件夹中运行以下命令:

java -jar ..\lib\hazelcast-3.12.2.jar com.hazelcast.core.server.StartServer

这将产生以下错误:

 Dec 20, 2019 8:44:56 AM com.hazelcast.config.AbstractConfigLocator
    INFO: Loading 'hazelcast.xml' from the working directory.
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
            at com.hazelcast.logging.Log4jFactory.createLogger(Log4jFactory.java:29)
            at com.hazelcast.logging.LoggerFactorySupport$1.createNew(LoggerFactorySupport.java:32)
                ...
    Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
            at java.net.URLClassLoader.findClass(Unknown Source)
                ...

我看到Hazelcast需要log4j版本1.2.17,所以我从maven下载了该版本并将其放在文件夹中。然后,我运行以下命令:

 java -cp ..\..\log4j\log4j-1.2.17.jar -jar ..\lib\hazelcast-3.12.2.jar com.hazelcast.core.server.StartServer

但是,我读到您不能在同一条语句中指定类路径和jar。 hazelcast jar不包含log4j jar文件。似乎它们应该在包装时出现。

任何人都可以提供帮助。

java windows log4j hazelcast noclassdeffounderror
1个回答
0
投票

以下由丹尼尔(Daniele)提供的答案:java -cp .... \ log4j \ log4j-1.2.17.jar; .. \ lib \ hazelcast-3.12.2.jar com.hazelcast.core.server.StartServer

© www.soinside.com 2019 - 2024. All rights reserved.