Java – не найти класс Logger

Мой старый ноутбук выходит из строя, поэтому я перенес программу Java на новый компьютер, но у меня возникли трудности с ее выполнением. Я использую eclipse, и чтобы удалить ошибку «отсутствует основной класс», я добавил целевой каталог в путь сборки. Теперь я получаю ошибку

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    at source.Application.<clinit>(Application.java:447)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
    at java.net.URLClassLoader$1.run(Unknown Source)
...

Файл пути к классу включает строку

classpathentry kind="lib" path=".../log4j/log4j-1.2.17/apache-log4j-1.2.17/log4j-1.2.17.jar" sourcepath=".../log4j/log4j-1.2.17/apache-log4j-1.2.17/log4j-1.2.17-sources.jar">

Итак, я не уверен, что попробовать дальше.

На вкладке путь/библиотеки сборки java записи:

Внешний jar: C:\Users\John\Documents\java\log4j\log4j-1.2.17\apache-log4j-1.2.17\log4j-1.2.17.jar исходное вложение: C:\Users\John\Documents\java \log4j\log4j-1.2.17\apache-log4j-1.2.17\log4j-1.2.17-sources.jar расположение javadoc: C:\Users\John\Documents\java\log4j\log4j-1.2.17\apache- log4j-1.2.17\log4j-1.2.17-javadoc.jar

Основной класс имеет член класса

закрытый статический окончательный Logger LOGGER = Logger.getLogger(Application.class);

Главную функцию выполняют строки

PropertyConfigurator.configure("log4j.properties"); РЕГИСТРАТОР.ошибка(е);


person Community    schedule 02.10.2013    source источник
comment
На вкладке "Путь/библиотеки сборки java" следующие записи:\n Внешний jar: C:\Users\John\Documents\java\log4j\log4j-1.2.17\apache-log4j-1.2.17\log4j-1.2.17 Исходное вложение .jar: C:\Users\John\Documents\java\log4j\log4j-1.2.17\apache-log4j-1.2.17\log4j-1.2.17-sources.jar Расположение javadoc: C:\Users\John \Documents\java\log4j\log4j-1.2.17\apache-log4j-1.2.17\log4j-1.2.17-javadoc.jar   -  person    schedule 06.10.2013


Ответы (2)


В classpathentry есть три точки. попробуй две точки

person Scary Wombat    schedule 02.10.2013
comment
Три точки представляют часть пути, который был удален. Путь является абсолютным, содержит полный путь и является правильным. Но спасибо за предложение. - person ; 04.10.2013

Сначала я создал новую рабочую область eclipse на другом диске и скопировал каталоги исходных файлов java в новую рабочую область и необходимые библиотеки. Программа выполняется в новом рабочем пространстве.

Поскольку предыдущая рабочая область была извлечена из переданного репозитория svn, я перешел в предыдущий каталог рабочей области eclipse, удалил каталог .metadata и перезапустил eclipse с предыдущей рабочей областью. Eclipse перестроил каталог .metadata и разрешил выполнение предыдущей рабочей области.

Итак, похоже, ошибка была в поврежденной рабочей области eclipse, что стало очевидным после переноса репозитория svn между компьютерами.

person Community    schedule 06.10.2013