2

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

例如 -

Jar 的类路径:

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

项目的类路径:

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

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

4

1 回答 1

5

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

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

于 2011-05-16T23:17:15.097 回答