Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > java.lang.NoClassDefFoundError


Автор: Tireks 22.10.2015, 09:57
Здравтсвуйте.

Проблема с запуском проекта в Netbeans, получаю такую ошибку:

Код

--- exec-maven-plugin:1.2.1:exec (default-cli) @ mavenproject1 ---
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Layout
    at com.mycompany.mavenproject1.Example.main(Example.java:23)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Layout
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more


Подскажите, как решить эту проблему?

Автор: LSD 22.10.2015, 12:46
Подключить/исправить scope у log4j.

Автор: Tireks 22.10.2015, 13:25
Цитата(LSD @ 22.10.2015,  12:46)
Подключить/исправить scope у log4j.

в этой тенологии ни в зуб ногой.
Мне пока просто нужно запустить проект, т.е. нужен факт того, что это работает.
Можно популярно объяснить, куда нижимать?

Автор: LSD 22.10.2015, 15:58
Цитата(Tireks @  22.10.2015,  14:25 Найти цитируемый пост)
Можно популярно объяснить, куда нижимать?

Ты ничего не рассказал и не показал: ни проект, ни билд файл ничего, даже полный лог не выложил. А хочешь получить конкретный ответ.

Автор: Tireks 23.10.2015, 09:51
Делаю:

NetBeans: File -> New Project -> Categories: Java -> Projects: JavaApplication

Код:

Код

class Example {
    public static void main(String[] xxx) throws Exception {
        System.out.println(Class.forName("org/apache/log4j/Layout"));
    }
}


Нажимаю на кнопку Build Project:
Код


ant -f /home/NetBeansProjects/JavaApplication1 -Dnb.internal.action.name=rebuild clean jar
init:
deps-clean:
Updating property file: /home/NetBeansProjects/JavaApplication1/build/built-clean.properties
Deleting directory /home/NetBeansProjects/JavaApplication1/build
clean:
init:
deps-jar:
Created dir: /home/NetBeansProjects/JavaApplication1/build
Updating property file: /home/NetBeansProjects/JavaApplication1/build/built-jar.properties
Created dir: /home/NetBeansProjects/JavaApplication1/build/classes
Created dir: /home/NetBeansProjects/JavaApplication1/build/empty
Created dir: /home/NetBeansProjects/JavaApplication1/build/generated-sources/ap-source-output
Compiling 1 source file to /home/NetBeansProjects/JavaApplication1/build/classes
compile:
Created dir: /home/NetBeansProjects/JavaApplication1/dist
Copying 1 file to /home/NetBeansProjects/JavaApplication1/build
Copy libraries to /home/NetBeansProjects/JavaApplication1/dist/lib.
Building jar: /home/NetBeansProjects/JavaApplication1/dist/JavaApplication1.jar
To run this application from the command line without Ant, try:
java -jar "/home/NetBeansProjects/JavaApplication1/dist/JavaApplication1.jar"
jar:
BUILD SUCCESSFUL (total time: 0 seconds)



Жму кнопку Run Project.
 Ошибка:
Код


run:
Exception in thread "main" java.lang.ClassNotFoundException: org/apache/log4j/Layout
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:260)
    at javaapplication1.Example.main(Example.java:10)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)


В "/home/NetBeansProjects/JavaApplication1/dist/lib" лежат httpclient-4.2.jar, log4j-1.2.17.jar

Автор: AntonSaburov 23.10.2015, 11:04
К проекту указанные JAR-файлы подключены в ветке Libraries в окошке Project ?

Автор: LSD 23.10.2015, 11:10
Ты явно что-то недоговариваешь. У тебя в первом посте 
Цитата(Tireks @  22.10.2015,  10:57 Найти цитируемый пост)
exec-maven-plugin

Да и вообще проект называется mavenproject1 что намекает на Maven. А Build Project почему-то вызывает сборку Ant-ом.

А так у тебя ошбика в коде:
Цитата(Tireks @  23.10.2015,  10:51 Найти цитируемый пост)
Class.forName("org/apache/log4j/Layout")

Классы именуются через точку а не слэш
Код

Class.forName("org.apache.log4j.Layout")

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)