У меня в проекте 2 сети
@SpringBootApplication
@ComponentScan(value = com.somepackage,
excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = Class2.class)})
public Class1
и
@SpringBootApplication
@ComponentScan(value = com.somepackage,
excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = Class1.class)})
public Class2
Они оба находятся в одном пакете, но необходимо сканировать некоторые другие пакеты.
Когда я запускаю в своей среде IDE Class1, я не хочу, чтобы Class2 загружался, а когда я запускаю Class2, я не хочу, чтобы Class1 загружался.
Выполнение этих исключений не работает и выполняется @SpringBootApplication(exclude = Class2.class)
отобразить эту ошибку: Следующие классы не могут быть исключены, потому что они не являются классами автоконфигурации
Как я могу исключить другой класс SpringBootApplication?
EDIT: мы используем 2 основных класса, потому что мы хотите иметь некоторые инструменты (небольшие скрипты) и повторно использовать какую-то часть кода. Пример: у меня есть основной класс приложения, но я хочу запустить его часть с другим основным классом, чтобы выполнить некоторую очистку, но очень редко и не хочу настраивать множество библиотек только для этого. Я знаю, что это не чисто, но я хочу быстро написать какой-нибудь main, чтобы вызывать мое приложение со всеми другими загруженными bean-компонентами, но не с первым main, потому что он запускает множество других потоков, которые мне не нужны.