2011-07-25 2 views
0

Я получаю эту ошибку, когда хочу выполнить свою программу. Как установить переменные пути пути для файлов jar? Я добавил их в папку WebContent/WEB-INF/lib.NoClassDefFoundError в выполнении программы Java

Exception in thread "main" java.lang.NoClassDefFoundError: org/jfree/util/PublicCloneable 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) 
    at java.net.URLClassLoader.access$000(URLClassLoader.java:56) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 
    at org.jfree.data.xy.XYSeriesCollection.<init>(XYSeriesCollection.java:85) 
    at xyline.main(xyline.java:22) 
+3

Ознакомьтесь с информацией/документацией по загрузке классов для контейнера сервлетов. Он должен указать вам в правильном направлении. –

+0

поясните пожалуйста. – Bahareh

+0

Кажется, вы исправили свою проблему, но для будущей ссылки разные контейнеры сервлетов будут иметь особый способ поиска классов (либо в файлах .jar, либо просто .class). Используя Tomcat в качестве примера, он документирует конкретные каталоги, которые он ожидает найти код . В документации также должно быть указано, какие каталоги относятся ко всем приложениям, размещенным в контейнере, и какие директивы относятся к отдельному приложению. Стоит узнать вашу среду. Удачи :) –

ответ

1

Похоже, что вы развертываете веб-приложение на сервере в пределах eclipse. Вы должны определить, как собирается ваше веб-приложение. Щелкните правой кнопкой мыши проект и перейдите к Properties > Deployment assembly и добавьте туда записи в класс.

Ваш проект должен быть динамичным веб-проектом. Для этого перейдите к Properties > Project facets и выберите «Динамический веб-модуль». Для этого вам нужен WTP (поставляется с Eclipse для JavaEE).

+0

Я не могу найти узел развертывания в этом пути. – Bahareh

+0

Ваш проект должен быть динамичным веб-проектом. перейдите в раздел «Границы проекта» и добавьте динамический грант веб-проекта – Bozho

+0

Извините меня @ Bozho.where - это динамический грань веб-проекта? Я уже на этом пути.Но вы не можете найти эту опцию. – Bahareh

1

Вы можете указать информацию о пути, на которую ссылается ваш файл jar. для этого, когда вы создаете файл jar, в файле MANIFEST.MF добавьте следующую запись.

Class-Path: "Каталог-Path \ somejar.jar"

Это действительно работает.

Смежные вопросы