Heim > Java > javaLernprogramm > Wie lade ich Ressourcen mit getClass().getResource() in Befehlszeilenbereitstellungen?

Wie lade ich Ressourcen mit getClass().getResource() in Befehlszeilenbereitstellungen?

Mary-Kate Olsen
Freigeben: 2024-11-08 00:12:03
Original
1058 Leute haben es durchsucht

How to Load Resources with getClass().getResource() in Command Line Deployments?

Laden von Dateien mit getClass().getResource() in Befehlszeilenbereitstellungen

Die Methode getClass().getResource() ermöglicht das Laden von Ressourcen Dateien aus dem Klassenpfad. Beim Ausführen von Anwendungen über die Befehlszeile können Entwickler jedoch auf eine Nullzeiger-Ausnahme stoßen, wenn auf die Ressourcendatei im aktuellen Klassenpfad nicht zugegriffen werden kann.

Eclipse vs. Befehlszeile

In Eclipse werden der Quellordner und sein Inhalt beim Erstellen automatisch zum Klassenpfad hinzugefügt. Daher stehen Ressourcendateien, die im selben Ordner wie die Java-Datei abgelegt sind, zum Laden mit getClass().getResource() zur Verfügung, wenn die Anwendung in der IDE ausgeführt wird.

Hierarchie der Befehlszeilenbereitstellung

Wenn Sie die Anwendung als JAR-Datei bereitstellen oder über die Befehlszeile ausführen, muss der Klassenpfad explizit so konfiguriert werden, dass er die Ressourcendateien enthält. Wenn sich die Ressourcendatei nicht im Klassenpfad befindet, kann getClass().getResource() sie nicht finden.

Korrekte Verwendung von getClass().getResource()

Um eine Abhängigkeit vom Dateisystem zu vermeiden, wird empfohlen, getClass().getResourceAsStream() zu verwenden, anstatt den URI in ein Dateiobjekt zu konvertieren. Diese Methode gibt direkt einen InputStream für die Ressource zurück und ermöglicht das Laden, auch wenn die Datei nicht physisch im Dateisystem vorhanden ist.

ClassPath-Konfiguration

Um sicherzustellen, dass die Ressourcendatei im Klassenpfad zugänglich ist, wenn es über die Befehlszeile ausgeführt wird, sollte es in die JAR-Datei gepackt oder in einem Verzeichnis abgelegt werden, das Teil des Klassenpfads ist. Wenn Sie die Option -classpath im Java-Befehl verwenden, stellen Sie sicher, dass das Verzeichnis mit der Ressourcendatei enthalten ist.

Fazit

Durch Verständnis der Nuancen der Klassenpfadkonfiguration während des Befehls Mithilfe von getClass().getResource() können Entwickler mithilfe von getClass().getResource() Ressourcendateien effektiv laden und ihre Anwendungen nahtlos außerhalb der Eclipse-Umgebung ausführen.

Das obige ist der detaillierte Inhalt vonWie lade ich Ressourcen mit getClass().getResource() in Befehlszeilenbereitstellungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage