Я пытаюсь настроить ведение журнала Hazelcast log4j в Windows, используя последнюю версию.
Добавил конфиг:
<properties>
<property name="hazelcast.logging.type">log4j</property>
</properties>
Я запускаю следующую команду из папки bin hazelcast:
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
Однако я читал, что вы не можете указать путь к классам и банку в одном выражении. Банки hazelcast не содержат файл jar log4j. Кажется, что они должны быть упакованы.
Может ли кто-нибудь помочь с этим, пожалуйста.
java -cp ..\..\log4j\log4j-1.2.17.jar;..\lib\hazelcast-3.12.2.jar com.hazelcast.core.server.StartServer
(не нужно использовать -jar, если вы уже знаете имя основного класса) - person Daniele   schedule 20.12.2019org.apache.log4j.Logger
содержится в банке log4j, у вас не должно быть ошибки NoClassDefFoundError. Можете ли вы перепроверить правильность имен папок и файлов? - person Daniele   schedule 20.12.2019