Создайте модуль Java и старый jar для разных версий Java из одного исходного кода
У меня есть проект библиотеки Java Maven с target. Я хочу преобразовать его в модуль Java для современных клиентов, но сохранить обратную совместимость для старых клиентов и опубликовать новые версии для обоих клиентов:
my-mod my-lib
-v0.3 -v0.3
\ /
\ /
\/
my-lib-v0.2
|
my-lib-v0.1
Итак, у меня вопрос, как правильно добавить
module-info.java
в существующий проект и иметь возможность скомпилировать его для целевой, и как настроить Maven для развертывания двух выпусков для двух версий Java, например, для
1.8
а также
17
?
1 ответ
Просто создайте свой
module-info.java
внутри папки вашего пакета. Он будет проигнорирован Java 8 и уловлен Java 9+. Может быть, вы захотите взглянуть на это красивое сообщение в блоге: https://www.baeldung.com/java-9-modularity