Исключение в потоке "main" java.lang.NoClassDefFoundError: DiServer <неправильное имя: ds / DiServer> - PullRequest
12 голосов
/ 07 января 2011

Это один из тех ужасно неловких вопросов, которых я боюсь.

У меня есть программа на Eclipse:

    package ds;
    public class DiServer {
 public static void main(String[] args) {
    int foo = 0;
    int bar = 0;
    /*bla*/
    }
    }

Просто верно? Это работает совершенно нормально при запуске в Eclipse.

Я хочу запустить это из командной строки. Я скопировал папку bin, с папкой ds внутри нее, DiServer.class в ds и .classpath

Я поместил их в отдельную папку, C: \ Мои документы \ DiTest, открыл командную строку, перешел в C: \ Мои документы \ DiTest \ ds \ и набрал java DiServer

Я получаю ошибку Exception in thread "main" java.lang.NoClassDefFoundError: DiServer <wrong name:ds/DiServer> ... Could not find the main class: DiServer. Program will exit.

Я пробовал java -classpath. DiServer, java -classpath ../ .. DiServer, перемещая .classpath в папку ds, но я не могу обойти это. Я на 99% уверен, что это проблема с classpath, но я не могу решить, как ее исправить.

Я был бы очень признателен за любую помощь, как всегда, и обычное предложение пинты всегда в силе.

Заранее большое спасибо,

M

Ответы [ 2 ]

24 голосов
/ 07 января 2011

Полное имя вашего класса ds.DiServer, а не DiServer.От C:\My Documents\DiTest:

java -cp . ds.DiServer

И вуаля .

11 голосов
/ 07 января 2011

goto C:\My Documents\DiTest\ds\

javac  DiServer.java

goto C:\My Documents\DiTest\

java ds.DiServer 

Также см.

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