当我发出以下命令时
java -Xmx500m -jar bc.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
我收到以下异常
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
我想这是因为supercsv的包含不当。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
听起来超级CSV不在类路径上,因为你没有提供带有-cp
的类路径,我会检查你的jar中的清单,看看它对super-csv jar的期望是什么(可能在同一目录中),然后确认它实际上在那里。
This似乎是对运行jar时配置类路径的不同方法的一个相当好的概述。