Heim > Java > javaLernprogramm > Warum wird die Klassenpfadressource bei der Ausführung als Jar-Datei nicht gefunden?

Warum wird die Klassenpfadressource bei der Ausführung als Jar-Datei nicht gefunden?

Linda Hamilton
Freigeben: 2024-11-04 12:52:29
Original
406 Leute haben es durchsucht

Why does Classpath Resource Not Found when Running as Jar File?

Klassenpfad-Ressource bei Ausführung als Jar-Datei nicht gefunden

Beim Laden einer Klassenpfad-Ressource mit einer @Value-Annotation ist es wichtig, die Dateien zu berücksichtigen Standort. Wenn die Ressource in eine JAR-Datei eingebettet ist, kann die Verwendung von resources.getFile() zum Abrufen ihres Inhalts zu Ausnahmen führen, da getFile() erwartet, dass die Ressource im Dateisystem verfügbar ist.

Zum Abrufen der Ressourcen Um Inhalte aus einer JAR-Datei abzurufen, verwenden Sie stattdessen „resource.getInputStream()“. Dadurch können Sie den Inhalt der Ressource unabhängig von ihrem Standort lesen.

Hier ist ein Beispiel dafür, wie Sie Ihre Anwendung so ändern, dass sie getInputStream() verwendet:

<code class="java">private void testResource(Resource resource) {
  try {
    InputStream inputStream = resource.getInputStream();
    printFileContents(inputStream);
  } catch (IOException ex) {
    logger.error(ex.toString());
  }
}

private void printFileContents(InputStream inputStream) {
  BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
  bufferedReader.lines().forEach(logger::debug);
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum wird die Klassenpfadressource bei der Ausführung als Jar-Datei nicht gefunden?. 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