Для запуска кода библиотеки вам, очевидно, потребуется JRE 1.6 или выше. Из-за обратной совместимости 1.4 часть вашего приложения должна работать на той же JRE. Однако, как вы взаимодействуете между вашим 1.6 lib и вашим приложением 1.4, это еще один вопрос.
Ваше приложение не может использовать перечисления или другие функции 1.5 напрямую. Если все, что вы напрямую получаете в своей библиотеке, совместимо с 1.4, оно должно работать, я думаю. Например. если ваше приложение определяет интерфейс, и библиотека обеспечивает реализацию этого. (Например, типичный шаблон плагина.) Если интерфейс вашей библиотеки требует, чтобы приложение использовало 1,5 функции, например. передать значение enum в качестве параметра метода, которое, очевидно, не будет работать с вашим существующим байтовым кодом.
Почему вы все еще строите приложения для Java 1.4? – paradigmatic
«мое приложение построено на java 1.4»: вам по какой-то причине нужно, чтобы он был совместимым с версией 1.4 или вам нужно было работать на 1.4 JRE? Поскольку совместимый источник 1.4 обычно является совместимым с 1.6 источником. ;) (Если, например, вы не используете новые ключевые слова, например «перечисление» в качестве имени переменной). – user1252434