Связаны ли проекты Apache Commons с версией Java?

У меня есть вопрос о Apache Commons projects. Мы знаем, что в Apache Commons Projects доступно много хороших классов и методов. Но я думаю, что это связано с конкретной версией Java. Если я начну использовать проекты Apache Commons сейчас, когда Java обновится до версии 1.8, я должен убедиться, что проекты Apache Commons имеют аналогичное обновление, прежде чем обновляться до версии Java 1.8? Наличие некоторых сторонних библиотек — это хорошо, но я всегда беспокоюсь о совместимости между ними и основным языком программирования, который я использую.


person 5YrsLaterDBA    schedule 08.08.2011    source источник
comment
Ява 1.8? ЧТО? Для Apache Commons требуется Java 1.5 (он же Java 5).   -  person Matt Ball    schedule 08.08.2011
comment
Я имею в виду, что через некоторое время Java будет 1.8.   -  person 5YrsLaterDBA    schedule 08.08.2011


Ответы (3)


В целом Java полностью обратно совместима, поэтому, если вы начнете использовать, например. commons-io в JSE1.6 будет работать и в JSE1.8. Работая с Java с 1999 года, я никогда не видел проблем с обратной совместимостью.

РЕДАКТИРОВАТЬ: Пока Oracle не изменит свою политику совместимости, у вас не должно возникнуть проблем. Если позже вы все равно столкнетесь с проблемами, у вас все еще есть исходный код, чтобы исправить это самостоятельно (но, возможно, вам придется вернуть его сообществу в зависимости от лицензии).

person home    schedule 08.08.2011

Проекты Apache Commons обновляются намного чаще, чем JDK. Я бы настоятельно рекомендовал держать ваши библиотеки в актуальном состоянии. Хотя бы для получения новейших исправлений. Это также позаботится о любых возможных проблемах с версиями JDK (которые обратно совместимы и очень мало изменились за эти годы и могут считаться довольно стабильными).

person nfechner    schedule 08.08.2011

Но я думаю, что это связано с конкретной версией Java.

Единственный случай, когда я когда-либо видел, что это верно с Apache Commons, Jakarta Anything или Spring, был, когда одна версия использовала новые функции JVM и/или компилятора. Например, в Spring 2.5 было несколько jar-файлов для версии 1.5 и новее, что означает, что теоретически они будут работать на Java 5 и Java 8 без каких-либо ошибок, вызванных платформой. Вы просто не могли использовать их на виртуальной машине Java 3 или 4.

Это в значительной степени норма во всем сообществе Java, во всяком случае, для SE. Совместимость с JavaEE может быть нарушена, поскольку это вопрос совместимости библиотек и методологии разработки.

person Mike Thomsen    schedule 08.08.2011