Java没有';你看不到我的主要条款吗?

Java没有';你看不到我的主要条款吗?,java,Java,好吧,我不明白。我有以下代码(是的,我知道它不起任何作用): 当我尝试运行它时,会出现以下错误: 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.

好吧,我不明白。我有以下代码(是的,我知道它不起任何作用):

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

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.
现在如果我读对了,它是说没有主要条款,但有一个主要条款。我错过了什么

现在如果我读对了,它是说没有主要条款,但有一个主要条款

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

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

那它为什么找不到班级呢?好吧,很可能你没有正确的类路径。有关Java类路径如何工作以及如何设置它的详细信息,请参阅本Java手册页-


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

要启动
Sim3DAnimator
,必须指定包名。从
com/prim/esaa/gui
的父级发出以下命令

> java com.prim.esaa.gui.Sim3DAnimator

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

看起来您试图错误地运行该类,因此找不到任何类

您是否尝试过:

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

然后运行(从根目录):
C:\EXAMPLE>java com.prim.esaa.gui.Sim3DAnimator不是最好的解决方案。但是我关闭并删除了我在包资源管理器中的所有项目。然后我从SVN重新检查出一份干净的副本。然后我创建了这个类,它运行良好。在我的构建设置中出现了一些问题,它阻止了一切运行


谢谢

我得告诉你,我觉得自己很笨,因为这应该在编译和运行时没有错误,什么都不做,我无法让它工作。也许你应该在清单文件中定义主类。你如何尝试调用你的类?代码本身运行良好。检查类路径和生成设置。另外,根据文件包检查文件是否位于正确的文件夹中。请告诉我们在获得此输出时键入的命令行,以及您在文件系统中的位置和类的位置。我检查了,它作为一个类存在于com.prim.esaa.gui包中。而com.prim项目总体上就是Eclipse中正在构建并包含在构建路径中的项目。我可能遗漏了什么?好的,类路径在LauncherShell脚本中设置,基本上设置为nothing。只是一些X3D的东西。这个项目一点用也没有。应该在这里吗?如果是的话,里面应该有什么?如果不是Eclipse中的其他地方,我应该在哪里设置它呢?好的,我试过了,得到了看起来相同的堆栈跟踪。原因是:java.lang.ClassNotFoundException:com.prim.esaa.gui.Sim3DAnimator位于java.net.URLClassLoader$1.run(URLClassLoader.java:217)位于java.security.AccessController.doPrivileged(本机方法)位于java.net.URLClassLoader.findClass(URLClassLoader.java:205)位于java.lang.ClassLoader.loadClass(ClassLoader.java:321)位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)位于java.lang.ClassLoader.loadClass(ClassLoader.java:266)找不到主类:com.prim.esaa.gui.Sim3DAnimator。程序将退出。在整个项目中,我认为它是60。我知道很多。但是现在,我只需要这个类就可以工作,即使它在项目中。我意识到它可以编译整个内容。我只是希望它只能用于导入。你能提供“dir”在以下目录上的输出:*\com\prim\esaa\gui?…Sim3DAnimator.java SimAnalyzerDisplay.java SimDisplay framegrabber.java SimDisplay.java SimDisplay panel.java SimGanttPanel.java simhistorogrampanel.javaYes,它在该目录中。@JesterHawk-Try=>在eclipse的包资源管理器中,选择java class/file(其中定义了main()方法)+鼠标右键单击+以Java应用程序的形式运行。我这样做了,得到了相同的结果。
> java com.prim.esaa.gui.Sim3DAnimator