【问题标题】:Running Java Application NoClassDefFoundError运行 Java 应用程序 NoClassDefFoundError
【发布时间】:2011-05-24 21:27:43
【问题描述】:

当我通过执行命令 java rmiserver.LightBulbServer.class 从终端运行我的程序时,我得到 NoClassDefFoundError

Exception in thread "main" java.lang.NoClassDefFoundError: rmiserver/LightBulbSe
rver/class
Caused by: java.lang.ClassNotFoundException: rmiserver.LightBulbServer.class
        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)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: rmiserver.LightBulbServer.class.  Program will ex
it.

【问题讨论】:

  • 遇到异常是一件坏事。有没有什么你想问的,因为你知道这是一个与编程相关的问答网站:你问一个问题,你就会得到答案?
  • 发布您的命令行(但我 100% 确定我已经知道您的问题,不应包含 .class)
  • @Kevin 和我想的一样

标签: java command-line terminal


【解决方案1】:

您很可能像这样运行应用程序:

java rmiserver.LightBulbServer.class

运行程序时不应添加.class 扩展名;仅使用类的名称:

java rmiserver.LightBulbServer

【讨论】:

    【解决方案2】:

    你正在运行命令:

    java rmiserver.LightBulbServer.class
    

    什么时候该跑步

    java rmiserver.LightBulbServer
    

    【讨论】:

      【解决方案3】:

      在 Java 可以在系统上执行任何操作之前,您需要设置一些变量。这就是为什么有些人创建批处理文件以在不修改系统变量的情况下运行他们的 Java 程序的原因。

      但这通常是因为您没有设置 CLASSPATH

      例如,下面是一些可能有效也可能无效的内容:

      set JAVA_HOME=C:\jdk1.5.0_06
      set PATH=C:\jdk1.5.0_06\bin;C:\Windows;C:\Windows\System32
      set CLASSPATH=.
      
      java -jar myprogram.jar
      

      或者试试这个命令:

      java -jar myprogram.jar -classpath .
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多