Importieren von Spring-properties-Dateien aus der jar-Datei auf dem Klassenpfad
Ich importieren möchten alle property-Dateien, Endung auf .properties
enthalten sind in der src/main/resource
Standorte der ALLE jar-Abhängigkeiten mein Projekt hat.
Schrieb ich einen JUnit-test, wo meine context.xml befindet sich im Verzeichnis src/test/resources Ordner. Ich habe angegeben das Eigentum-Platzhalter-Platzhalter, aber es funktioniert nicht.
<context:property-placeholder location="classpath*:*.properties"/>
Vielleicht bin ich zu dumm, aber ich konnte nicht finden, eine Lösung für mein problem im Netz. Hat jemand hier wissen, was ist die richtige syntax?
EDIT:
Root-Projekt, hat maven-Abhängigkeiten, die gelöst aus meinem Arbeitsbereich:
Und ich will das Modul importieren.properties-Dateien und der abhängigen Projekte:
- Ich bezweifle ernsthaft, Sie können es im Frühling. Die xsd für die Lage konkret heißt, "den Speicherort Der properties-Datei zu beheben Platzhalter gegen eine Spring-resource-location: URL "classpath:" pseudo-URL oder einen relativen Pfad. Mehrere Standorte können angegeben werden, getrennt durch Kommas. Wenn weder die Lage noch die Eigenschaften-ref angegeben ist, Platzhalter werden aufgelöst system Eigenschaften"
- <context:property-placeholder location="file:///C:/DevPa/test/dev-externe.Eigenschaften"/> haben Sie versucht, mit diesem
- Wäre das nicht, fügen Sie eine problematische Abhängigkeit von der Stelle des Dateisystems? Ist es möglich, um es auszudrücken, wie ein relativer Pfad?
- In der Theorie funktionieren sollte. Die Lage wird analysiert, wie ein
String[]
und ging in dielocations
Feld des gewählten Platzhalter. Dieselocations
Feld nimmt eineResource[]
als argument. DieString[]
umgewandelt werden, um eineResource[]
durch dieResourceArrayPropertyEditor
ist durchaus in der Lage Umgang mitclasspath*:*.properties
. Ihre properties-Dateien befinden sich im root dersrc/main/resources
? - Ja, Sie sind in src/main/resources, SONDERN in einer externen jar-Datei, die ich Hinzugefügt, um mein classpath. Es könnte relevant sein, dass meine context.xml ist in dem Verzeichnis src/test/resources Lage, ..
- Sie sind in
src/main/resources
und nicht insrc\main\resources\some-dir
? Auch ist diese jar-Datei auf Ihrem test-classpath? Wie haben Sie Hinzugefügt, es zu Ihrem classpath? - Der Pfad src/main/resources/Modul.Eigenschaften und ich habe es auf meinen classpath als eclipse-Projekt. Siehe meine aktualisierte Frage.
- Sollten Sie als maven-dependency derzeit mischen Sie maven-und eclipse-lokalen Abhängigkeiten (von was ich mich erinnere ist, dass Probleme auf uns zukommen). Wenn Sie das Projekt in Ihrem lokalen Arbeitsbereich der eclipse-maven-integration sollte in der Lage sein, um es abzuholen. Wenn Sie bereits eine maven-Abhängigkeit für dieses Projekt, das ist wohl das überschreiben der Sachen, die in Ihrem lokalen Arbeitsbereich, d.h. keine
modules.properties
da erscheint eine neue Datei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Feder Dokumentation:
Aber es gibt eine Einschränkung:
Also wenn ich mein Modul property-Dateien in src/main/resources/META-INF, die ich laden kann von Ihnen wie folgt:
Können Sie es auch tun, sth wie diese:
komplexeres Beispiel:
wenn die Eigenschaften, die Sie verwenden ist weniger als 4. Sie können dieses verwenden:
Sonst mit diesem