Рассмотрим следующие два класса Java:
a.) class Test { void foo(Object foobar) { } }
b.) class Test { void foo(pkg.not.in.classpath.FooBar foobar) { } }
Кроме того, предположим, что pkg.not.in.classpath.FooBar
не найден в пути к классам.
Первый класс будет компилироваться с использованием стандартного javac.
Однако второй класс не будет компилироваться, а javac предоставит вам сообщение об ошибке "package pkg.not.in.classpath does not exist"
.
Сообщение об ошибке хорошо в общем случае, так как проверка зависимостей позволяет компилятору рассказать вам, есть ли у вас какой-то аргумент метода и т.д.
В то время как хорошо и полезно, что проверка зависимостей во время компиляции - это AFAIK не строго, необходимый для создания файла класса Java в приведенном выше примере.
-
Можете ли вы привести какой-либо пример, для которого было бы технически невозможно создать допустимый файл класса Java, не выполняя проверку зависимостей времени компиляции?
-
Вы знаете какой-либо способ проинструктировать javac или любой другой компилятор Java, чтобы пропустить проверку зависимостей времени компиляции?
Пожалуйста, убедитесь, что ваш ответ отвечает на оба вопроса.