Получение java.lang.Ошибка NoClassDefFoundError в Windows 8

#java #windows

#java #Windows

Вопрос:

Когда я пытаюсь запустить файл jar, выполнив следующую команду

 java -Xmx500m -jar ap.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
  

Я получаю следующую ошибку. Я использую Windows 8

 Throwable Error: java.lang.NoClassDefFoundError: org/supercsv/prefs/CsvPreference
Exception in thread "main" java.lang.Error: java.lang.NoClassDefFoundError: org/supercsv/prefs/CsvPreference
        at bc.c.Util.process(Util.java:135)
        at bc.m.TabularReader$CSVReader.<init>(TabularReader.java:68)
        at bc.m.TabularReader.<init>(TabularReader.java:37)
        at bc.c.Spread2db.main(Spread2db.java:244)
Caused by: java.lang.NoClassDefFoundError: org/supercsv/prefs/CsvPreference
        at bc.m.TabularReader$CSVReader.<init>(TabularReader.java:64)
        ... 2 more
Caused by: java.lang.ClassNotFoundException: org.supercsv.prefs.CsvPreference
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 3 more
  

Пожалуйста, помогите мне устранить это исключение.

Ответ №1:

Что вам нужно, так это загрузить файл SuperCSV jar, а также поместить его в свой путь к классу.

http://sourceforge.net/p/supercsv/news/2014/04/super-csv-220-released/

Библиотека, которую вы используете (ap.jar ) ссылается на эту другую библиотеку SuperCSV. Итак, вам также нужен файл SuperCSV jar в вашем classpath.

http://sourceforge.net/projects/supercsv/files/

Комментарии:

1. Пожалуйста, скажите мне, в чем смысл размещения jar-файла SuperCSV в пути к классу

2. Смотрите Ответ от Reimeus, вот что это значит в основном. Также запустите java -help и обратите внимание на эти флаги: -cp и -classpath .

3. Когда я следую процессу @Reimeus, я получаю следующую ошибку: Error: Unable to access jarfile ap.jar;super-csv-2.0.1.jar

4. Затем используйте эту -classpath опцию. Прочитайте в общих чертах, что такое classpath в Java. Выполните некоторое чтение, после чего ошибка будет легко исправлена.