Есть ли еще веская причина для поддержки JDK 1.4?

Я собираюсь собрать проект с открытым исходным кодом на Java и активно обсуждаю вопрос не о поддержке JDK версии 1.4 и старше. Фреймворк, безусловно, может быть написан с использованием старых шаблонов и идиом Java, но он действительно выиграет от функций более зрелых версий 1.5+, таких как обобщенные версии и аннотации.

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

Понятно, что существуют устаревшие системы, которые застряли с более старыми JDK, но помимо логистики, есть ли у кого-нибудь убедительная техническая причина для поддержки 1.4 JDK?

Спасибо,

Стив

5 ответов

Решение

Я не могу придумать какой-либо технической причины придерживаться версии 1.4 совместимости для основной Java с возможным исключением конкретных мобильных или встроенных устройств (см. Обсуждение ответа Джона). У устаревшей поддержки должны быть ограничения, а 1,5 почти 5 лет. На мой взгляд, чем больше убедительных причин заставить людей двигаться дальше, тем лучше.

Обновление (я не могу спать). Хороший прецедент, который нужно учитывать, это то, что Spring 3 потребует Java 5 (pdf). Также учтите, что большинство серверов, используемых крупными корпорациями, являются или скоро будут EOL (поддержка WAS 5.1 прекращается с сентября 2008 года, поддержка JBoss 4.0 прекращается с сентября 2009 года) и что сама Java 1.4 находится вне поддержка с октября '08.

Возможно ли, что кто-то захочет использовать его на Blackberry или аналогичном мобильном устройстве? Я не верю, что они вообще поддерживают 1.5.

JDK 1.4 вышел из поддержки от Sun еще в октябре 2008 года. Единственные причины, по которым я могу подумать, почему вы должны поддерживать свое программное обеспечение, работающее на JVM без поддержки, это обратная совместимость и клиентская база, которая все еще сильно зависит от нее.

У нас есть клиенты, у которых установлено только 1.4 (AS/400) и где стоит установить более новую JVM. Итак, я один из тех, кто считает совместимость Java 1.4 важной.

Примечание. Скорее всего, это может быть достигнуто с помощью Retrotranslator после компиляции. Затем вы выполняете все свои тесты как с Java 1.5 с оригинальными jar-файлами, так и с Java 1.4 с переведенными jar-файлами.

http://retrotranslator.sourceforge.net/

Я думаю, что это зависит от вашего проекта. У нас есть клиент, который все еще использует J2SE 1.4 (JRun, WebSphere 6).

Хотя ни один из наших клиентов не работает на J2SE 1.3, у нас есть несколько основных компонентов, на которых мы пытаемся поддерживать совместимость с J2SE 1.3 (действительно базовые, многократно используемые вещи).

Тем не менее, это не может быть проблемой. Для нашего клиента мы смогли использовать некоторые скомпилированные библиотеки J2SE 1.5, запустив JAR/ классы через Retroweaver.

Другие вопросы по тегам