Подтвердить что ты не робот

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

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

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

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

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

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

Я поместил их в отдельную папку, C:\My Documents\DiTest, открыл командную строку, перешел в C:\My Documents\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

4b9b3361

Ответ 1

Полное имя класса ds.DiServer, а не DiServer. Из C:\My Documents\DiTest:

java -cp . ds.DiServer

И вуаля.

Ответ 2

goto C:\My Documents\DiTest\ds\

javac  DiServer.java

goto C:\My Documents\DiTest\

java ds.DiServer 

Также см.