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

Hazelcast log4j配置产生;java.lang.NoClassDefFoundError:org/apache/log4j/Logger";错误,java,windows,log4j,hazelcast,noclassdeffounderror,Java,Windows,Log4j,Hazelcast,Noclassdeffounderror,我正在尝试使用最新版本在Windows上设置Hazelcast log4j日志记录 我添加了配置: <properties> <property name="hazelcast.logging.type">log4j</property> </properties> 这会产生以下错误: Dec 20, 2019 8:44:56 AM com.hazelcast.config.AbstractConfigLocator

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

我添加了配置:

  <properties>
        <property name="hazelcast.logging.type">log4j</property>
  </properties>
这会产生以下错误:

 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不包含log4jjar文件。看来,它们应该在包装好的时候


任何人都可以提供帮助。

为了告诉log4j如何获取配置文件,您必须在配置文件中添加以下行:

    <property name="log4j2.configuration">/path/to/properties/log4j2.properties</property>
/path/to/properties/log4j2.properties
看起来是这样的:

  <properties>
        <property name="hazelcast.logging.type">log4j</property>
        <property name="log4j2.configuration">/path/to/properties/log4j2.properties</property>
  </properties>

log4j
/路径/to/properties/log4j2.properties

然后您必须编辑log4j2.properties文件,如文档中所述:

您可以尝试
java-cp..\log4j\log4j-1.2.17.jar\lib\hazelcast-3.12.2.jar com.hazelcast.core.server.StartServer
(如果您已经知道主类名,则无需使用-jar)感谢您的回复。尝试了同样的错误。
org.apache.log4j.Logger
类包含在log4jjar中,您不应该有NoClassDefFoundError。你能再检查一下文件夹和文件名是否正确吗?你是对的,我有一个路径问题。谢谢你。现在我只需要弄清楚如何告诉log4j如何获取配置文件
  <properties>
        <property name="hazelcast.logging.type">log4j</property>
        <property name="log4j2.configuration">/path/to/properties/log4j2.properties</property>
  </properties>