Этим утром я писал несколько тренировочных программ для своей сертификации java и заметил, что неправильно набрал имя пакета, поэтому оно не соответствует подкаталогу, в котором находится файл java. Я скомпилировал код, ожидающий ошибку, но все скомпилированный файл - даже не предупреждение.
Я немного погуглил, и на большинстве прочитанных страниц говорилось, что имя пакета должно соответствовать подкаталогу. Мой опыт показывает, что это не так.
Когда я пытался запустить программу, она не работала, потому что файл .class находился в неправильном каталоге. Я переместил его в правильный каталог и получил эту ошибку:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sample/directory
/doesnt/even/exist/OtherPackageMemberModifiers (wrong name: com/sample/chap01/O
therPackageMemberModifiers)
Итак, я думаю, что Java-код будет компилироваться , если пакет и подкаталог не совпадают, но, похоже, нет способа запустить код, если Вы делаете это. Это правильно?