java- NoClassDefFoundERROR: LogManager - PullRequest
       2

java- NoClassDefFoundERROR: LogManager

0 голосов
/ 13 декабря 2018

Я пытаюсь запрограммировать простое сообщение log4j2.

Вот как выглядит код:

package com.company;

import java.io.IOException;

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;


public class Main {

   private static final Logger logger = LogManager.getLogger(Main.class);

    public static void main(String[] args) throws IOException {

        String message = "Hello there!";
        System.out.println(message);
        logger.info(message);

    }
}

И мои внешние библиотеки импортируют API:

Screenshot

Когда я запускаю программу, она выдает:

 java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
 Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager

Я уже импортировал соответствующие файлы JAR, но не понимаю, почему явсе еще получаю эту ошибку.

Что-то я делаю не так?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Вместо фактической библиотеки log4j-api-2.11.1.jar вы включили только мост API log4j-1.2-api-2.11.1.jar в путь к классам.Он переводит ваши вызовы API 1 в вызовы API 2.Но фактическая библиотека, обрабатывающая вызовы, отсутствует.

Добавьте фактическую библиотеку в classpath и либо удалите мост и переписайте вызовы API (рекомендуется), либо сохраните мост и оставайтесь с вызовами API 1.

0 голосов
/ 13 декабря 2018

Попробуйте импортировать LogManager и Logger со следующим кодом:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...