2009-10-21 11 views
5

Ich habe eine Reihe von Spring-Konfigurationsdateien, die alle unter dem META-INF-Verzeichnis in verschiedenen Unter-Packages leben. Ich habe den Import wie folgt verwendet ...Relative Pfade im Frühling Klassenpfad Ressource

Also ein relativer Pfad von der Quelldatei. Das funktioniert gut, wenn ich mit einem lokalen Build außerhalb einer JAR-Datei arbeite. Aber wenn ich alles in ein Glas verpacke, bekomme ich einen Fehler, dass es die URL-Ressource nicht auflösen kann. Wenn ich das obige in einen absoluten Pfad ändere (mit classpath :), dann funktioniert es gut.

Gibt es eine Möglichkeit, relative Pfade mit ".." zu verwenden, wenn die Konfigurationen in einem Jar gepackt sind oder bin ich auf das Absteigen von relativen Pfaden und absoluten Pfaden beschränkt?

Danke.

Antwort

5
<import resource="classpath:database/schema.xml"/> 
+0

Es müsste sein, aber das funktioniert nicht. –

+0

Hm ... Sie müssen es in META-INF haben? – Trick

+1

Nicht unbedingt, aber ich brauche es in das Glas verpackt, damit die Benutzer des Glases die Config damit abholen. –

13

Ein kurzer Zusatz: Wenn Sie die Ressourcen aus dem Glas zugreifen mögen, soll es lesen:

<import resource="classpath*:database/schema.xml"/> 
+1

Das asterix! Das habe ich vermisst. –

4

Was auf meinem Projekt gut funktioniert sind die folgenden Zeilen in der App-servlet.xml :

<!-- Database Configuration --> 
<import resource="classpath*:/database/DataSource.xml"/> 
<import resource="classpath*:/database/Hibernate.xml"/> 

Directories

Wenn es Ihnen helfen kann ...