Объяснение:
Он не будет работать. В среде выполнения указано, что код предназначен для выполнения в определенной реализации Java. Это влияет как на: версию байт-кода, с которой ваши источники компилируются, и предназначенная для использования библиотека классов Java. Этот параметр используется IDE (не уверен, что все IDE используют его - Eclipse делает), чтобы убедиться, что вы только пишете код, который можно выполнить в команде EE.
Bytecode Несовместимость пример:
Java 8 добавлена поддержка лямбда - если вы используете его ваш байт-код будет иметь инструкции, связанные с labmda, и он не будет выполняться в старых JVM.
JCL пример Несовместимость:
Java 8 введен класс URLPermission. Если вы ссылаетесь на него в своем коде и пытаетесь запустить его против старой библиотеки классов Java, вы получите исключение. Даже если вы скомпилируете свой код в более старую версию байт-кода. Класс просто недоступен в старшем JCL.
Ссылки:
Eclipse, сообщество имеет много ресурсов на среду выполнения Java - читать об этом here.
Имеет смысл. Оказывается, в моей конкретной ситуации было запущено простое Java-приложение, в результате которого запущен Eclipse с использованием Java 8. Таким образом, среда исполнения JRE1-1 никогда не была действительно актуальной для наших плагинов. – Fredrik