Когда я пытаюсь скомпилировать этот класс с помощью javac, я получаю ошибку компиляции и Test.class не создается.
public class Test {
public static void main(String[] args) {
int x = 1L; // <- this cannot compile
}
}
Но когда я создаю этот класс в Eclipse, я вижу, что Test.class появляется в target/classes. Когда я пытаюсь запустить этот класс из командной строки с помощью java.exe, я получаю
Исключение в потоке "main" java.lang.Error: проблема неразрешенной компиляции:
Тип несоответствия: невозможно преобразовать из long в int
Использует ли Eclipse собственный специальный компилятор Java для создания сломанного .class? Как java.exe знает о проблемах с компиляцией в .class?