views:

1737

answers:

2

Hi all,

I have a bunch of spring config files, all of which live under the META-INF directory in various subpackages. I have been using import like the following...

  <import resource="../database/schema.xml"/>

So a relative path from the source file. This works fine when I am working with a local build outside of a jar file. But when I package everything up in a jar then I get an error that it cannot resolve the URL resource. If I change the above to an absolute path (with classpath:) then it works fine.

Is there any way to use relative paths with ".." in when the configs are packaged in a jar or am I restricted to descending relative paths and absolute paths only?

Thanks.

+2  A: 
<import resource="classpath:database/schema.xml"/>
Trick
It would need to be <import resource="classpath:../database/schema.xml"/> but this doesn't work.
Mike Q
Hm... You have to have it in META-INF?
Trick
Not necessarily but I need it packaged in the jar so users of the jar pick up the config with it.
Mike Q
My structure for jars looks like so:src/main/java/ - codesrc/main/resources/ - configurations files (including spring)
Trick
+1  A: 

A short addition: If you want to access the resources from a jar, it should read:

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