Настройка среды выполнения в конфигурации запуска

1

При создании конфигурации запуска вы можете указать среду выполнения, как это более конкретно используется? Я предполагаю, что это заканчивается как параметр для Java?

Каковы последствия, если у нас есть плагин, построенный с использованием среды исполнения JavaSE-1.8, и запустить приложение с помощью этого плагина и запустить его с помощью среды исполнения JRE-1.1?

Теги:
eclipse-plugin

2 ответа

2
Лучший ответ

Объяснение:

Он не будет работать. В среде выполнения указано, что код предназначен для выполнения в определенной реализации Java. Это влияет как на: версию байт-кода, с которой ваши источники компилируются, и предназначенная для использования библиотека классов Java. Этот параметр используется IDE (не уверен, что все IDE используют его - Eclipse делает), чтобы убедиться, что вы только пишете код, который можно выполнить в команде EE.

Пример несовместимости байткодов:

Java 8 добавила поддержку лямбда - если вы используете ее, ваш байт-код будет иметь инструкции, связанные с labmda, и он не будет выполняться в более старых JVM.

Пример несовместимости JCL:

Java 8 представила класс URLPermission. Если вы ссылаетесь на него в своем коде и пытаетесь запустить его против старой библиотеки классов Java, вы получите исключение. Даже если вы скомпилируете свой код в более старую версию байт-кода. Класс просто недоступен в старшем JCL.

Ссылки:

Сообщество Eclipse имеет много ресурсов в средах выполнения Java - читайте об этом здесь.

  • 0
    Имеет смысл. Оказывается, в моей конкретной ситуации было запущено простое приложение на Java, которое, в свою очередь, запустило Eclipse с использованием Java 8. Таким образом, среда исполнения JRE1-1 никогда не была действительно актуальна для наших плагинов.
1

1,8 до 1,1? столько раздоров в версиях? В любом случае, в конфигурации запуска есть данные о пути jre, банках depenedency и местоположении файлов, где хранятся параметры, необходимые программе.

если вы меняете env, ваш код может быть несовместимым с исходным кодом, или вы можете получить такие ошибки, как "файл не найден/класс не найден".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню