In der Spring Boot's docs hier , um statische Inhalte zu bedienen, heißt es:
Standardmäßig wird Spring Boot statischen Inhalt aus einem Verzeichnis bereitstellen genannt / static (oder / public oder / resources oder / META-INF / resources) in der Klassenpfad .
Ich habe festgestellt, dass alle Inhalte im Verzeichnis:
%Vor%wird in den Klassenpfad kopiert, damit ich meinen statischen Inhalt einfügen kann:
%Vor% und alles wird gut funktionieren und ich bin glücklich, da ich meinen statischen Inhalt im Verzeichnis src
haben kann.
Aber ich habe einige Fragen dazu:
src/main/resources/static
zu setzen, anstatt über den Klassenpfad zu sprechen (ich denke, das ist ein wenig verwirrend)? src/main/resources/
immer in den Klassenpfad kopiert wird? src/main/resources/
finden kann)? /src/main/resources
ist eine Maven Projektstrukturkonvention. Es ist ein Pfad innerhalb Ihres Projekts, in dem Sie Ressourcen platzieren. Während des Erstellungsschritts nimmt Maven Dateien dort auf und legt sie an die richtige Stelle, damit Sie sie in Ihrem Klassenpfad für die Laufzeit verwenden können, z. B. in einer ausführbaren Datei .jar
, einem physischen Speicherort im Klassenpfad (mit java
's -cp
-Option) usw.
Ich könnte meine Anwendung selbst oder mit einem anderen Build-Tool erstellen. In diesem Fall wäre /src/main/resources
nicht vorhanden. Es ist jedoch beabsichtigt, dass der Klassenpfad derselbe ist, d. um die gleichen Ressourcen und .class
Dateien zu enthalten.
Die Spring-Boot-Dokumentation spricht über den Klassenpfad, da er keine Annahmen über die Einrichtung Ihres Projekts machen sollte.
Der Klassenpfad enthält auch zusätzliche Bibliotheken (JARs), die auch einen static
-Ordner enthalten können, der dann zum Bereitstellen statischer Ressourcen einbezogen wird. Wenn also die Dokumentation nur den Ordner src/main/resources/static
enthält, wäre dieser unvollständig.
Ad 2: Solange Sie sich nicht mit der Maven-Standardkonfiguration anlegen, können Sie davon ausgehen.
Ad 3: Vielleicht beginnen Sie mit der offiziellen Oracle Dokumentation: Ссылка . Hinweis: Natürlich ist es nicht nur der Inhalt des Ressourcenordners, der sich im Klassenpfad befindet, sondern natürlich auch alle kompilierten Klassen, daher der Name.
Tags und Links java classpath spring-mvc spring-boot