在windows 8上运行jar文件时发生java.lang.NoClassDefFoundError

在windows 8上运行jar文件时发生java.lang.NoClassDefFoundError,java,windows-8,jar,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/pr

当我发出以下命令时

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
Throwable错误:java.lang.NoClassDefFoundError:org/supercsv/prefs/CsvPreference
线程“main”java.lang.Error中出现异常:java.lang.NoClassDefFoundError:org/supercsv/prefs/CsvPreference
at bc.c.Util.process(Util.java:135)
在bc.m.tablerReader$CSVReader(tablerReader.java:68)
在bc.m.tablerReader(tablerReader.java:37)
位于bc.c.Spread2db.main(Spread2db.java:244)
原因:java.lang.NoClassDefFoundError:org/supercsv/prefs/CsvPreference
在bc.m.tablerReader$CSVReader(tablerReader.java:64)
... 还有两个
原因:java.lang.ClassNotFoundException:org.supercsv.prefs.CsvPreference
位于java.net.URLClassLoader$1.run(未知源)
位于java.net.URLClassLoader$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
... 3个以上
我猜这是由于supercsv没有正确地包含在类路径中


请帮助我修复此错误。

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

试一试


在运行此java程序之前,需要将
super csv jar
和所有必需的jar放入类路径中。您有两个选项可以执行此操作:

  • 您可以通过set
    classpath=%classpath%;,使用系统类路径设置它
  • 您可以在执行Java命令时使用
    -cp
    选项指定它

  • 您没有指定
    org/supercsv/prefs/CsvPreference
    类或类路径中包含该类的jar文件。我使用了以下命令
    java-Xmx500m-jar-cp org/supercsv/prefs/CsvPreference myApp.jar%1%2%3%4%5%6%7%8%9
    ,但我收到以下错误
    错误:找不到或加载主类myApp.jar
    啊,我不小心分割了你的
    -jar
    命令。像我现在写的那样再试一次。我仍然得到了相同的错误
    Throwable错误:java.lang.NoClassDefFoundError:org/supercsv/prefs/CsvPreference
    @Suvendu is
    org/supercsv/prefs/CsvPreference
    指向
    myApp.jar
    文件和
    CsvPreference
    类的路径?它看起来更像包而不是系统目录。嗨,我也有同样的错误。我按照你的指示做了,但我也有同样的要求error@Anand请告诉我们有关您的代码的更多信息,hpw正在运行它。我有一个名为app.jar的jar文件,我试图使用以下命令运行它:
    java-Xmx1500m-jar-app.jar%1%2%3%4%5%6%7%8%9
    。我按照你的指示做了,但我还是发现了错误。。。请suggest@Anand您需要说明您到底是如何尝试运行应用程序的,以及出现了什么样的错误。我建议创建一个单独的问题来描述你的问题,如果你想留下一个链接来描述你正在尝试做什么。我之前也讨论过同样的错误:请参考:但我没有从那里得到任何解决方案。
    java -Xmx1500m -cp pathToCsvPreference -jar myApp.jar %1 %2 %3 %4 %5 %6 %7 %8 %9