Я понял это благодаря @Elliott Frisch
Есть несколько терминов;
Java Компилятор : Это определяется JAVA_HOME или если вы переопределите, выбрав другую версию Java для Maven. Вы можете скомпилировать Java 6 кодов с помощью Java 11 компилятора. Потому что он имеет обратную совместимость.
Источник : минимальная Java версия, для которой вы хотите использовать java функции. Например, если я хочу использовать лямбды, по крайней мере, я должен использовать источник 8. Если я хочу использовать Java 11 функций, мне нужно установить его на 11. Это все о Java функций, которые вы хочу использовать
Target : минимальная версия JRE, которая может запускать мои функции. Например, если я установлю Java 8, мне понадобится как минимум JRE 8, чтобы использовать лямбды. Я не могу использовать JRE 7 или ниже, потому что они не знают, что такое лямбда.
Также
Если версия компилятора java равна 8, он не может скомпилировать исходные 11 классов. Потому что компилятор не знает, как скомпилировать Java 11. Я потерпел неудачу в начале, потому что у меня был ниже, чем источник. Когда я перешел на 11 и 11, я снова потерпел неудачу, потому что на этот раз компилятор был старше (это было Java 8)
Спасибо