Spring Boot Dependency Management mit einem benutzerdefinierten übergeordneten Element

Spring Boot-Abhängigkeitsverwaltung mit einem benutzerdefinierten übergeordneten Element

1. Überblick

Spring Boot bietet das übergeordnete POM für eine einfachere Erstellung von Spring Boot-Anwendungen.

using the parent POM may not always be desirable, if we already have a parent to inherit from.

In diesem kurzen Tutorial werden wir uns ansehen, wie wir Boot auch ohne den übergeordneten Starter verwenden können.

2. Spring Boot Ohne übergeordnetes POM

The parent pom.xml takes care of dependency and plugin management. Aus diesem Grund bietet das Erben von Daten wertvolle Unterstützung in einer Anwendung. Daher ist dies normalerweise die bevorzugte Vorgehensweise beim Erstellen einerBoot-Anwendung. Weitere Informationen zum Erstellen einer Anwendung basierend auf dem übergeordneten Starter finden Sie inour previous article.

In der Praxis jedochwe may be constrained by design rules or other preferences to use a different parent.

Glücklicherweise bietetSpring Boot eine Alternative zum Erben vom übergeordneten Starter, die uns noch einige seiner Vorteile bieten kann.

If we don’t make use of the parent POM, we can still benefit from dependency management durch Hinzufügen des Artefaktsspring-boot-dependencies mitscope=import:


     
        
            org.springframework.boot
            spring-boot-dependencies
            1.5.6.RELEASE
            pom
            import
        
    

Als Nächstes können wir einfach Spring-Abhängigkeiten hinzufügen und die Funktionen vonSpring Bootnutzen:


    org.springframework.boot
    spring-boot-starter-web

On the other hand, without the parent POM, we no longer benefit from plugin management. Dies bedeutet, dass wir diespring-boot-maven-plugin explizit hinzufügen müssen:


    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    

3. Überschreiben von Abhängigkeitsversionen

Wenn wir für eine bestimmte Abhängigkeit eine andere Version als die von Boot verwaltete verwenden möchten, müssen wir diese im AbschnittdependencyManagement deklarieren, bevorspring-boot-dependencies deklariert wird:


    
        
            org.springframework.boot
            spring-boot-starter-data-jpa
            1.5.5.RELEASE
        
    
    // ...

Im Gegensatz dazu funktioniert es nicht mehr, nur die Version für die Abhängigkeit außerhalb desdependencyManagement-Tags zu deklarieren.

4. Fazit

In diesem kurzen Tutorial haben wir gesehen, wie wirSpring Boot ohne die übergeordnetenpom.xml. verwenden können

Der Quellcode für die Beispiele lautetover on GitHub.