Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java:编译后我不能运行程序?帮助我_Java_Noclassdeffounderror_Awtrobot - Fatal编程技术网

java:编译后我不能运行程序?帮助我

java:编译后我不能运行程序?帮助我,java,noclassdeffounderror,awtrobot,Java,Noclassdeffounderror,Awtrobot,我刚刚下载了一个java程序TableDrivenAccumAgent.java,当我搜索一些机器人类示例时,我在路径C:\program Files\java\jdk1.7.0\U 25\jre\lib\ext中包含了必要的JAR,但在它成功编译后,我遇到了错误 我需要做些什么来解决以下错误: Exception in thread "main" java.lang.NoClassDefFoundError: TableDrivenVacuumAgent (wrong name: aima/c

我刚刚下载了一个java程序
TableDrivenAccumAgent.java
,当我搜索一些机器人类示例时,我在路径
C:\program Files\java\jdk1.7.0\U 25\jre\lib\ext
中包含了必要的JAR,但在它成功编译后,我遇到了错误

我需要做些什么来解决以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: TableDrivenVacuumAgent (wrong name: aima/core/environment/vacuum/TableDrivenVacuumAgent)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        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)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
现在的错误是:

Exception in thread "main" java.lang.NoClassDefFoundError: TableDrivenVaccumAgent (wrong name: aima/core/environment/vacuum/TableDrivenVaccumAgent)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        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)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Java中的NoClassDefFoundError在不使用Java虚拟机时出现 能够在运行时找到在运行期间可用的特定类 编译时。例如,如果我们有一个来自类或 访问类的任何静态成员,但该类不可用 在运行时,JVM将抛出NoClassDefFoundError

NoClassDefFoundError的明显原因是一个特定的类在类路径中不可用,所以我们需要将它添加到类路径中,或者如果我们希望它在类路径中不可用,我们需要检查它为什么不可用。可能有多种原因,如:

  • 类在Java类路径中不可用

  • 您可能正在使用jar命令运行您的程序,并且类是 未在清单文件的类路径属性中定义

  • 任何启动脚本都将覆盖Classpath环境变量


  • Java中的NoClassDefFoundError出现在Java虚拟机无法在运行时找到编译时可用的特定类时。例如,如果我们有一个类的方法调用或访问某个类的任何静态成员,而该类在运行时不可用,那么JVM将抛出NoClassDefFoundError。

    在您的描述中,文件名和类名不匹配。您如何运行该类?它应该类似于
    java aima.core.environment.vacuum.TableDrivenVacumagent
    C:\Program Files\java\jdk1.7.0\u 25\jre\lib\ext
    不要将jar放在那里。如果你发现有建议这样做的事情,忽略它。Sun说了很长时间不要使用它。TableDrivenAccumAgent!=TableDrivenvacumagentoops!!我的错。我把文件名搞砸了。