Spring-Anwendung schließt Klasse aus Maven-Abhängigkeit ausJava

Java-Forum
Guest
 Spring-Anwendung schließt Klasse aus Maven-Abhängigkeit aus

Post by Guest »

Ich habe ein Projekt, das eine benutzerdefinierte Abhängigkeit verwendet (

Code: Select all

xl.person.controller.PersonController
), von dem ich eine PersonController-Klasse überschreibe. Es handelt sich um ein Projekt mit mehreren Modulen.
Die PersonController-Klasse befindet sich im externen Modul (dieses Modul hat auch die Abhängigkeit) – @RestController-Anmerkungen
In meinem Application-Modul instanziiere ich die Beans als solche und würde erwarten, dass der PersonController aus der benutzerdefinierten Abhängigkeit nicht enthalten ist . Wie Sie sehen können, wird „componentScan“ für andere Klassen benötigt, die ich aus der benutzerdefinierten Abhängigkeit verwende

Code: Select all

@Configuration
@ComponentScan(
basePackages = "xl.person",
excludeFilters={
@ComponentScan.Filter(
type = FilterType.ASSIGNABLE_TYPE,
value = { xl.person.controller.PersonController.class }
)
}
)
public class PersonConfiguration {
@Bean
@Primary
PersonController personController(
PersonService service, //from dependency
PersonSecondService serviceTwo //not from dependency
) {
return new PersonController(service, serviceTwo);
}
}
Ich habe auch den Ausschluss beim @SpringBootApplication-Ansatz ausprobiert

Code: Select all

@SpringBootApplication(
scanBasePackages = "xl.app"
exclude = { PersonController.class }
)
Der durch die Annotation angegebene Bean-Name „personController“ für die Bean-Klasse [xl.person.controller.PersonController] steht in Konflikt mit einer vorhandenen, nicht kompatiblen Bean-Definition mit demselben Namen und Klasse [xl.app.external.PersonController]

Update
Trigger scheint der @RestController zu sein< /code> auf der PersonController-Definition Ich habe. Im externen Modul ist die Klasse also bereits erstellt und steht dann in Konflikt mit der benutzerdefinierten Abhängigkeit. Aus offensichtlichen Gründen möchte ich jedoch den @RestController in meiner Controller-Klasse behalten.
Auch der @ComponentScan in meiner Konfigurationsklasse scheint ignoriert zu werden (daher funktioniert nicht), weil @SpringBootApplication(scanBasePackages="xl.app") meiner Meinung nach den ersten Scan durchführt und bereits den Fehler auslöst. Allerdings funktioniert hier nicht das Ausschließen = { PersonController.class der benutzerdefinierten Abhängigkeitsklasse.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post