在 Windows 8 上运行 jar 文件时出现 java.lang.NoClassDefFoundError

标签 java windows-8 jar

当我发出以下命令时

java -Xmx1500m -jar myApp.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 没有正确包含在类路径中。

请帮我修复此错误。

最佳答案

您需要包含 CsvPreference 类的路径。这是使用 -cp 标志完成的。

尝试

java -Xmx1500m -cp pathToCsvPreference -jar myApp.jar %1 %2 %3 %4 %5 %6 %7 %8 %9 

关于在 Windows 8 上运行 jar 文件时出现 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24405787/

相关文章:

java - 在 Android 上调用方法的成本

sql - 在 Windows 8 中卸载 SQL Server Management Studio 2014

windows-8 - 如何以编程方式在 Windows Phone 8 中的 Pivot 控件之间移动

java - JarFile/ZipFile 缓存?

Java 小程序无法在浏览器中运行 - 使用图像文件

java - 使用ITextRenderer从HTML生成pdf文件时出现编码问题

java - 如何通过数学计算显示 future 的日期和时间?

c# - Windows 8 商店应用程序 C++ 文件访问

jar - 依赖JAR时是否可以排除类/包?

Eclipse:如何反编译jar并将其作为项目加载?