До сих пор, если программа работала под любым выпуском Java SE - Java 1.1, Java 1.2, Java 1.3, Java 1.4, Java 5, Java 6 - она работает под любым более поздним выпуском (кроме непреднамеренные ошибки, но их было очень мало).
Sun уделила этому чрезвычайное внимание, и это означает, что обновление не является проблемой. Вы просто делаете это. С достижениями, достигнутыми в JVM, это также было очень желательно.
Следовательно, если у вас нет веских оснований не делать этого, ваши пользователи должны использовать Java 6. Sun Java 6 обеспечивает очень хорошую производительность, но за счет памяти.
Я работал только с частью «веб-приложения» Java EE, но здесь Servlet API был очень стабильным и хорошо поддерживал. Данный WAR-файл может быть развернут в любом веб-контейнере, плюс некоторый клей конфигурации. Сюда входят веб-контейнеры, намного более новые, чем спецификации, против которых было написано веб-приложение.