从Jar中加载上下文

时间:2011-05-16 23:09:26

标签: java spring jar applicationcontext

我需要一些澄清;我有一个我建立的jar,它在jar里面有一个我需要加载的自定义application-context.xml文件。我在jar内的类中加载文件。当我设置这个application-context.xml的url时,是我的jar的类路径特有的目录,还是使用jar-classpath的项目?

例如 -

Jar的类路径:

src > main > META-INF > application-custom-context.xml

Project的类路径:

src > Libraries > myjar.jar > src > main > META-INF > application-custom-context.xml

我知道这些网址不准确:P - 但是,在我的上下文创建中,我会遵循哪个目录结构。这都是理论上的。今天有人问我这个,我不知道如何回答。我认为如果你从一个jar调用一个类,那么classpath应该相对于那个jar的内容..但是,我认为远非总是正确的:)

1 个答案:

答案 0 :(得分:5)

Spring上下文的“路径”是相对于类路径的。如果jar包含在你的类路径中(例如它在web-inf / lib中),那么它就会被视为在你的项目中(web-inf / classes)。

换句话说,如果您的上下文文件位于jar文件中的“META-INF \ spring \ context.xml”中,那么包含您的jar文件的任何人都可以以相同的方式引用它。