Собираете код Java, написанный для 1,5 для работы с 1.4 JRE?

StackOverflow https://stackoverflow.com/questions/974836

Вопрос

У меня есть проект, который использует дженерики и несколько битов Java 1,5/6. Можно ли составить этот код для работы над системой, работающей на 1.4 JRE?

Я использую сценарий сборки муравья и задачу Javac для составления библиотеки. Это наносит нормально, в то время как целевой атрибут составляет 1,5.

Если я изменю цель на 1,4, я получу следующую ошибку:

generics are not supported in -source 1.4 
(use -source 5 or higher to enable generics)

Поэтому я добавляю атрибут источника и пробую значение 5 и 1,5. Новая ошибка:

javac: source release 5 requires target release 1.5

Придется ли мне пройти через весь свой код и изменить материал 1.5, чтобы сделать эту работу?

Это было полезно?

Решение

Я не использовал ни одного из этих решений, но есть

  1. Retroweaver
  2. Указание неподдерживаемой -target jsr14 май Работа
  3. Ретротранслатор
  4. Декларист
  5. Jbossretro

Вы также можете найти javac -XD-printflat Полезно (хотя позаботьтесь о том, чтобы не перезаписать свой первоначальный источник).

Другие советы

У меня есть проект, который использует дженерики и несколько битов Java 1,5/6. Можно ли составить этот код для работы над системой, работающей на 1.4 JRE?

Нет.

Придется ли мне пройти через весь свой код и изменить материал 1.5, чтобы сделать эту работу?

Да. Но есть способ автоматизировать это, используя инструмент под названием Retroweaver. Анкет Нет никакой гарантии, что это все поймает.

У меня был хороший опыт работы с ретротранслатором (Retroweaver не работал с тем, что мне нужно, не могу вспомнить именно то, что).

Это работало очень хорошо для моей цели (создание версий HORBACK) JDK1.4.

http://retrotranslator.sourceforge.net/

Дженерики реализованы путем стирания типа, поэтому они должны работать до введения дженериков. Однако вы не сможете скомпилировать код с более старой версией компилятора (я не знаю, почему вы хотели бы это сделать)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top