Как скомпилировать несколько jar-файлов, использующих один и тот же файл приложения с разными контроллерами - PullRequest
9 голосов
/ 20 апреля 2020

Я пишу weather сервис с 2 провайдерами weather-1 и weather-2. У меня есть два Spring Controller класса controller-1 и controller-2, которые вызывают обе службы соответственно.

Я хочу переключиться между двумя банками службы погоды, как если бы я хотел получать данные о погоде из weather-1 затем controller-1 должен скомпилировать файл weather-1.jar, в то время как controller-2 остается нетронутым.

Я пробовал использовать два разных файла Gradle для обеих служб, таких как build-weather-1.gradle и build-weather-2.gradle.

Обе будут иметь собственные зависимости jar.

build-weather-1.gradle

implementation 'com.xxx.weather:weather-1:0.0.1'

build -weather-2.gradle

implementation 'com.xxx.weather:weather-2:0.0.1'

Я запустил build-weather-1.gradle с командой - gradle -b build-weather-1.gradle build. К сожалению, этот файл сборки ожидает и другой контроллер класса обслуживания.

error: package com.xxx.weather.weather-2 does not exist

Я исключил пакет, как показано ниже,

sourceSets {
 main {
 java {
 exclude 'com/xxxx/weatherservice/controller/Weather2Controller.java'
 }
    }
}

Но этот интерфейс (weather-2) объявлен как bean-компонент в файле приложения. java, который выдает ошибку пакета не найдена.

Как устранить эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...