2014-09-02 3 views
1

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

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

ответ

2

Объяснение:

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

Bytecode Несовместимость пример:

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

JCL пример Несовместимость:

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

Ссылки:

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

+0

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

1

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

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

Смежные вопросы