Я сегодня утром писал несколько практических программ для своей сертификации 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 компилирует , если пакет и подкаталог не совпадают, но есть похоже, это не способ запустить код, если вы это сделаете. Это правильно?