1

好吧,我不明白。我有以下代码(是的,我知道它什么都不做):

package com.prim.esaa.gui;


import com.jme3.app.SimpleApplication;

public class Sim3DAnimator extends SimpleApplication {


    public static void main( String[] args ) {

    }


    @Override
    public void simpleInitApp() {

    }




}

当我尝试运行它时出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/prim/esaa/gui/Sim3DAnimator
Caused by: java.lang.ClassNotFoundException: com.prim.esaa.gui.Sim3DAnimator
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: com.prim.esaa.gui.Sim3DAnimator. Program will exit.

现在,如果我没看错的话,就是说没有主句,但有一个主句。我在这里想念什么?

4

4 回答 4

1

要启动Sim3DAnimator,您必须指定包名称。从com/prim/esaa/gui.

> java com.prim.esaa.gui.Sim3DAnimator

PS:确保类Sim3DAnimator位于com/prim/esaa/gui文件夹中。

于 2012-06-06T03:14:02.173 回答
1

看起来你正试图错误地运行这个类,因此没有找到类..

你有没有尝试过:

将 Sim3DAnimator.class 放入目录路径,例如:C:\EXAMPLE\com\prim\esaa\gui

然后运行(从根目录): C:\EXAMPLE> java com.prim.esaa.gui.Sim3DAnimator

于 2012-06-06T03:15:35.893 回答
0

不是最好的解决方案。但是我关闭并删除了我的包资源管理器中的所有项目。然后我从 SVN 重新签出一个干净的副本。然后我创建了这个类,它运行良好。在我的构建设置中出现了一些问题,它阻止了一切运行。

谢谢!

于 2012-06-07T01:23:57.070 回答
0

现在,如果我没看错的话,就是说没有主句,但有一个主句。

实际上是在说它找不到完全限定名称为“com.prim.esaa.gui.Sim3DAnimator”的类。事实上,它以不同的方式说了三次……。

如果它可以找到类,它会将类的“main”方法识别为入口点,因为您的 main 方法具有正确的特征。

那么为什么找不到类呢?嗯,很可能你没有正确的类路径。有关 Java 类路径如何工作以及如何设置它的详细信息,请参阅此 Java 手册页 - http://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html

另一种可能性(基于您的评论)是您尚未编译 java 代码。

于 2012-06-06T03:11:35.593 回答