#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.
Комментарии:
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. Выполните некоторое чтение, после чего ошибка будет легко исправлена.