При создании конфигурации запуска вы можете указать среду выполнения, как это более конкретно используется? Я предполагаю, что это заканчивается как параметр для Java?
Каковы последствия, если у нас есть плагин, построенный с использованием среды исполнения JavaSE-1.8, и запустить приложение с помощью этого плагина и запустить его с помощью среды исполнения JRE-1.1?
Объяснение:
Он не будет работать. В среде выполнения указано, что код предназначен для выполнения в определенной реализации Java. Это влияет как на: версию байт-кода, с которой ваши источники компилируются, и предназначенная для использования библиотека классов Java. Этот параметр используется IDE (не уверен, что все IDE используют его - Eclipse делает), чтобы убедиться, что вы только пишете код, который можно выполнить в команде EE.
Пример несовместимости байткодов:
Java 8 добавила поддержку лямбда - если вы используете ее, ваш байт-код будет иметь инструкции, связанные с labmda, и он не будет выполняться в более старых JVM.
Пример несовместимости JCL:
Java 8 представила класс URLPermission. Если вы ссылаетесь на него в своем коде и пытаетесь запустить его против старой библиотеки классов Java, вы получите исключение. Даже если вы скомпилируете свой код в более старую версию байт-кода. Класс просто недоступен в старшем JCL.
Ссылки:
Сообщество Eclipse имеет много ресурсов в средах выполнения Java - читайте об этом здесь.
1,8 до 1,1? столько раздоров в версиях? В любом случае, в конфигурации запуска есть данные о пути jre, банках depenedency и местоположении файлов, где хранятся параметры, необходимые программе.
если вы меняете env, ваш код может быть несовместимым с исходным кодом, или вы можете получить такие ошибки, как "файл не найден/класс не найден".