Создайте модуль 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

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