2017-04-26 6 views
0

Ich baue ein Multi-Modul-Projekt mit Spring Boot und Batch.Spring Boot + Batch Multimodul Projekt

Die Verzeichnisstruktur ist derzeit:

  • Kern
  • web
  • Batch

Kern die Domänenobjekte, Repositories enthält, Dienstleistungen.

web enthält die Frühlings-Boot-app - Controller usw.

Batch enthält die Spring Batch app - Auftragskonfigurationen usw.

web und Batch jeweils ihre eigenen Kontext mit @SpringBootApplication kommentiert haben und ich konfiguriere bei der Ausführung mit der start-class Eigenschaft zB -Dstart-class=com.company.web.WebApplication

Das Problem tritt auf, wenn die Klassen core eingeschlossen werden, keine App wird aufgrund fehlender Bean-Definitionen für die Repositories gestartet, so dass es sich anhört, als würde das Scannen von Komponenten für das Kernmodul nicht funktionieren.

Ich habe mit @SpringBootApplication(scanBasePackageClasses... und @ComponentScan(basePackageClasses... aber ohne Glück experimentiert.

Irgendwelche Ideen, was ich vermisse oder ob es eine bessere Möglichkeit gibt, das zu entwerfen?

+0

Ist es ein Maven-Mehrfachprojektmodul? Ist jedes Modul richtig definiert, um sich gegenseitig als Abhängigkeiten zu sehen? Können Sie Ihre Pom-Dateien teilen? –

+0

Ich benutze 'Gradle' weil es 2017 ist;) – timothyclifford

Antwort

0

Ich habe eine ähnliche Struktur wie Sie, und alles funktioniert gut. Ich kann davon ausgehen, dass Sie folgendes Problem haben könnten - das Verpacken Ihrer Artefakte: Sie enthalten keine Abhängigkeit von der Core-Jar-Bibliothek.

dependencies { 
    compile project(':core') 
} 

Können Sie Ihre verpackten Artefakte überprüfen? Enthalten sie Kernbibliotheken?

Verwandte Themen