Как мне запустить программу Java, которую я установил? - PullRequest
0 голосов
/ 26 августа 2009

Я скачал программу, реализованную на Java (в данном случае http://julian.togelius.com/mariocompetition2009/index.php).. Сначала я попытался открыть файл Play.class с помощью Java, но он выдал ошибку, которую я не смог увидеть, потому что окно консоли исчезло так, быстро. Я повторил это в командной строке и получил следующую ошибку:

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.

Что мне нужно сделать, чтобы это работало правильно? (Если это относится к Superuser, тогда все в порядке.)

Ответы [ 3 ]

8 голосов
/ 26 августа 2009

Вы должны вызвать программу без .class

java Play

вместо

java Play.class

EDIT

Дальнейшее объяснение проблемы

(или каково полное имя класса)

Например, если у вас есть определенный класс:

 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 

См. это.

3 голосов
/ 26 августа 2009

с сайта, на который вы ссылаетесь:

Как принять участие (это просто!) Если вы планируете участвовать, вы должны присоединиться к Mario Competition Google Group. Все технические и организационные вопросы должны быть отправлены в эту группу, где организаторы ответят на них и сохранят в доступном для поиска списке.

Но сначала вам нужно будет разработать свой контроллер, используя ваш метод выбора и программный пакет Java. Прежде всего, посмотрите на начальную страницу ; скоро появится больше технической информации.

со страницы начала работы

java ch.idsia.scenarios.Play

Другими словами: сначала начните читать на сайте, а затем возвращайтесь сюда

0 голосов
/ 26 августа 2009

Похоже, проблема пути. Одним из простых решений является копирование Play.java в каталог, в котором находится исполняемый файл Java. Лучшим решением было бы добавить путь к исполняемым файлам java в системный путь по умолчанию и вызвать java из каталога, содержащего Play.java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...