Spring Boot-classpath
In der Spring Boot ist docs hier, über statischen Inhalt, es sagt:
Standardmäßig Spring Boot wird die Verarbeitung statischer Inhalte aus einem Verzeichnis
genannt /statische (oder /public oder /Ressourcen oder /META-INF/resources) in
die classpath.
Fand ich, dass alle Inhalte in das Verzeichnis:
src/main/resources
kopiert wird innerhalb der classpath, so kann ich meine statische Inhalte, in:
src/main/resources/static
und alles wird gut und ich bin froh, da ich meine statischen Inhalte unter der src
Verzeichnis.
Aber, ich habe einige Fragen dazu:
- Warum die Dokumentation nicht sagt, legen die statischen Inhalte in
src/main/resources/static
anstatt zu sprechen über den Klassenpfad (ich denke, das ist ein bisschen verwirrend)? - Ist es gut, zu vermuten, dass der Inhalt
src/main/resources/
werden immer kopiert, in der classpath? - Gibt es einige Spring-Boot-offizielle Dokumentation welche erklären, was soll ich finden in den classpath anderes als Java-Klassen und Pakete (bis jetzt habe ich nur weiß, ich kann alle Inhalte aus
src/main/resources/
)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
/src/main/resources
ist ein Maven Projekt-Struktur-übereinkommen. Es ist ein Pfad in Ihrem Projekt, wo Sie platzieren Sie Ressourcen. Während des build-Schritt, Maven nehmen Dateien in es und legen Sie Sie in den passenden Platz für Sie, um Sie in Ihre runtime-classpath, z.B. in einem ausführbaren Programm.jar
einige physikalische Speicherort im Dateisystem verwendet, in den Klassenpfad (mitjava
's-cp
option), usw.Konnte ich wählen, zu bauen meine Anwendung selbst oder mit einem anderen build-tool. In einem solchen Fall
/src/main/resources
würde nicht existieren. Aber die Absicht ist für den classpath um das gleiche, dh. enthalten die gleichen Ressourcen und.class
- Dateien.Frühjahr-boot-Dokumentation spricht über die classpath, da sollte es nicht machen Annahmen darüber, wie Ihr Projekt aufgebaut.
/src/main/resources
es ist nicht unbedingt im Zusammenhang mit Spring Boot, denn jetzt habe ich zu erinnern, dass, wenn ich starten Sie eine Spring-Boot-Projekt mit einem anderen build-tool anstelle von Maven (vielleicht Gradle?) hätte das Projekt nicht funktioniert, wenn ich statische Inhalte in/src/main/resources
.. :/Den classpath enthält außerdem zusätzliche Bibliotheken (JARs), die können auch einen
static
Ordner, die dann im statischen Ressourcen. Also, wenn die Dokumentation würde nur der Staat die Ordnersrc/main/resources/static
es unvollständig wäre.Ad 2: solange Sie nicht Durcheinander mit den Standard-Maven-Konfiguration, dann ist es sicher davon ausgehen, dass diese.
Ad 3: Vielleicht beginnen Sie mit der offiziellen Oracle Dokumentation: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html. Hinweis: selbstverständlich sind es nicht nur die Inhalte der Ordner Ressourcen, die im Klassenpfad, aber natürlich auch alle kompilierten Klassen, daher der name.
src/main/resources
kopiert in den classpath oder so ähnlich. Thx/src/main/resources
ist ein build-tool-Konvention, dachte ich, war mehr Spring-Boot-Verwandte.