Простой способ перенести код Java 6 в Java 5? - PullRequest
8 голосов
/ 20 августа 2008

Мы уже некоторое время разрабатываем приложение для Windows, использующее Java, но СЕЙЧАС мы хотим создать порт для Mac и вынуждены вернуться к коду из Java 6 и Java 5. Есть ли более простой способ сделать это, чем перекодировать конкретный код Java 6? Мы хотели бы поддерживать наш код в актуальном состоянии.

Ответы [ 7 ]

4 голосов
/ 23 октября 2008

Смотрите здесь:

http://en.wikipedia.org/wiki/Comparison_of_backporting_tools

Я попробовал ретротранслятор с 1.6 до 1.4.2, и он работает довольно хорошо!

4 голосов
/ 21 августа 2008

Есть пара библиотек, которые могут вам помочь. К сожалению, я не пробовал их сам, потому что никогда не сталкивался с такой ситуацией.

3 голосов
/ 20 августа 2008

Apple выпустила Java 6 в последней версии OS X. Какие функции вы используете конкретно из Java6, которых нет в java5?

2 голосов
/ 21 августа 2008

По моему опыту, это так просто, что нытье занимает больше времени, чем занятие. В 1.6 есть очень мало вещей, которые не могут быть перенесены назад с минутной (или буквально) стоимостью работы. Сколько ошибок компиляции вы видите, когда пытаетесь с 1.5, и зачем?

Имейте в виду, что есть легкодоступные API-совместимые бэкпорты с небольшим количеством места для немногих полезных в 1.6 (SwingWorker).

1 голос
/ 20 августа 2008

Знаете ли вы, сколько бы вам пришлось переписать, если вы только что вернулись в Java 5? Если вы измените настройку JDK в вашей IDE и попытаетесь перекомпилировать ее, это даст вам довольно хорошее представление о том, насколько большими будут изменения на самом деле. Для большинства разработчиков Java 6 на самом деле не предлагал слишком много новых функций / API, но я думаю, что, возможно, ваш проект сильно зависит от того, что было добавлено.

0 голосов
/ 14 декабря 2015

Существует также Java 8 для Mac OS X. Новые версии Java будут совместимы, например, Java 8 совместима с кодом Java 5, поэтому код Java 6 также совместим.

0 голосов
/ 20 августа 2008

Возможно, вы сможете перенести дополнительные библиотеки из Java 6 в Java 5, но я думаю, что это будет гораздо сложнее, чем стоит. На компьютерах Intel Mac с 64-разрядными процессорами (а не с оригинальным Intel Mac Mini) под управлением Leopard установлена ​​Java 6, так что, возможно, вы могли бы просто использовать их?

...