Ich bin neu in maven
und Java
. Ich arbeite an einer großen Codebasis, die das Spring Web Framework verwendet. Es mag sein, dass ich die Grundlagen vermisse, aber ich habe mein Bestes getan, um alle Grundlagen der Projektdurchführung zu besprechen.
Für die Funktion Ich baue, habe ich Properties-Dateien, die ich früher in src/main/resources in mein Maven-Projekt gerettet hatte und wurde von meiner Klasse mit dem Namen ReaderClass
mit dieser AussageWie lesen Properties-Datei von einem externen jar in Maven Projekt
ReaderClass.class.getResourceasStream("xyz.properties");
Jetzt lesen Ich habe diese Dateien in ein separates Projekt ausgelagert und daraus ein Jar erstellt. Dieses Jar hat nur die Eigenschaftendateien in einem Ordner namens resource.
Ich habe diese JAR-Datei als Abhängigkeit in der IntelliJ IDE hinzugefügt und mag die Eigenschaften von Dateien aus diesem Glas lesen. Wäre es eine .class-Datei, die ich eine Import-Anweisung in ReaderClass
verwenden würde, aber wie würde ich Properties-Dateien lesen?
WEITERE INFORMATIONEN
Auch bin ich nicht sicher, ob dies ist ein Problem, aber IntelliJ nicht wirklich das Glas in den Außen Bibliotheken Tab zeigen aber mein Glas im Projekt in der Registerkarte Abhängigkeiten der Module Abschnitt nicht zeigen Struktur. Ich wollte sicherstellen, dass dies die Lösung nicht beeinflusst.
Mögliche doppelte: https://stackoverflow.com/questions/33821074/read-properties-file-in-multi-module-project Aber wenn man das Glas als externe Bibliothek direkt in IntelliJ hinzuzufügen, könnte es POM nicht aktualisieren. Ich würde empfehlen, den umgekehrten Weg zu gehen: Aktualisieren Sie zuerst das POM und laden Sie es in der IDE neu. – Daniel
Ich füge es zuerst der IDE hinzu, weil ich es testen möchte. Wenn ich mein Artefakt in das zentrale Maven-Repository hochlade, verwenden wir es auf nexus .. Ich füge die Abhängigkeit zu pom.xml hinzu. Die Lösung, die in dem von Ihnen freigegebenen Link angegeben wird, bezieht sich auf das Hinzufügen einer Klasse, nur um den Klassenlader zu verwenden. Ich würde es vorziehen, das nicht zu tun –
Ok, fair genug. Versuchen Sie 'ReaderClass.class.getClassLoader() getResourceAsStream ("xyz.properties");.' – Daniel