Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Das parent im Maven Projekt sagt, dass auch Dinge aus diesem POM genommen werden sollen. Du kannst da also hinein schauen und da wirst Du dann finden:
viele Versionen sind definiert - das ist der Grund, wieso Du da bei der Dependency z.B. keine <version> mehr hast.
Plugins sind ggf. konfiguriert und eingebunden
Generell ist Maven hier ähnlich wie die Vererbung in OO Sprachen. Jede Klasse erbt von etwas. So ist das auch bei Maven Projekten. Jedes Maven Projekt hat ein Parent. Wenn kein Parent angegeben wurde, dann gibt es die sogenannte "Super POM", von der man erbt. (Da finden sich dann z.B. ein paar erste Plugins. Maven selbst ist recht "dumm" und kann fast nichts. Funktionalität kommt über Plugins wie z.B. das maven-compiler-plugin und so.)
Das einfach einmal als minimale Übersicht. Ich würde da aber empfehlen eine Einführung oder so anzuschauen.
Das ist mir soweit schon klar, ich selbst verwende die parent dzu um an einem zentralen Ort die Versionen für meine Dependencies zu verwalten.
Mir ist es aber bist jetzt nie aufgefallen, dass man in der parent die Angaben komplett reinschreibt. Deshalb verwundert mich was im parent die Abhängigkeit zu suchen hat. Dieses will mir noch nicht so ganz einleuchten.
Das ist mir soweit schon klar, ich selbst verwende die parent dzu um an einem zentralen Ort die Versionen für meine Dependencies zu verwalten.
Mir ist es aber bist jetzt nie aufgefallen, dass man in der parent die Angaben komplett reinschreibt. Deshalb verwundert mich was im parent die Abhängigkeit zu suchen hat. Dieses will mir noch nicht so ganz einleuchten.
Der Parent definiert via <dependencyManagement> die möglichen Dependencies mit ihren Versionen. Wie @KonradN schon sagte, ist das der Grund, warum du bei:
nicht noch die Version dieser Dependency angeben musst. Denn diese Version wird im <dependencyManagement> Bereich des Parent POMs angegeben.
Der Parent ist ja nicht der spring-boot-starter-web sondern der spring-boot-starter-parent. Und der spring-boot-starter-**parent** definiert eben in seinem <dependencyManagement> die Version von spring-boot-starter-**web**, die du dann noch explizit bei dir als wirkliche Dependency angeben musst.
Hier ggf. beachten: java.version wird oft noch überschrieben. Daher nichts wildes, dass da 1.8 festgelegt ist.
Was dann noch wichtig ist, ist halt unter build:
a) resources - hier gibt es für die Ressourcen paar Festlegungen
b) pluginManagement - das war ja schon erwähnt.
Ein dependency oder dependencyManagement findet man übrigens nicht. Aber das heisst nicht, dass wir gelogen haben sondern schlicht, dass ich ein wichtigen Punkt unterschlagen bzw. übersprungen habe: