如何运行我安装的Java程序?

时间:2009-08-26 05:52:45

标签: java

我下载了一个用Java实现的程序(在本例中为http://julian.togelius.com/mariocompetition2009/index.php)。我首先尝试用Java打开Play.class文件,但它吐出一个我看不到的错误,因为控制台窗口消失得太快了。我在命令行上复制了这个,并收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: Play/class
Caused by: java.lang.ClassNotFoundException: Play.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: Play.class.  Program will exit.

我需要做些什么才能让它正常运行? (如果这属于超级用户,则没关系。)

3 个答案:

答案 0 :(得分:8)

您必须在没有.class

的情况下调用该程序
java Play

而不是

java Play.class

修改

对问题的进一步解释

(或任何完整的班级名称)

例如,如果您有一个这样定义的类:

 package a.b.c.d;

 public class MyClass {
     public void main( String [] args ) {
          System.out.println( "Hey there");
     }
  }

您可以这样编译:

 javac -D . MyClass.java 

-D。选项用于告诉编译器在何处创建包结构。在这种情况下,它是“。” (当前目录)

这将创建以下目录结构

a\b\c\d\MyClass.class  ( assuming  windows ) 

要运行它,请使用:

java a.b.c.d.MyClass // with the full package name and wihtout the .class 

请参阅this.

答案 1 :(得分:3)

来自您关联的网站:

如何参与(很简单!) 如果您计划参加,您应该加入Mario Competition Google Group。 所有技术和组织问题都应发布到此论坛,组织者将在会上回答这些问题并将其存储在可搜索的内容中。

但首先,您必须使用您选择的方法和Java软件包来开发控制器。 首先,请查看入门页面;更多技术信息即将推出。

从入门页面

java ch.idsia.scenarios.Play

换句话说:首先在网站上开始阅读,然后回到这里

答案 2 :(得分:0)

看起来像路径问题。一个简单的解决方案是将Play.java复制到java可执行文件所在的目录。更好的解决方案是在默认系统路径中添加java可执行文件的路径,并从包含Play.java的目录中调用java