java - 从 Jar 中加载上下文

标签 java spring jar applicationcontext

我需要一些澄清;我有一个我构建的 jar,并且在 jar 内部有一个我需要加载的自定义 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 的内容。但是,我的想法远非总是正确的:)

最佳答案

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

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

关于java - 从 Jar 中加载上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6024431/

相关文章:

java - 如何从命令行激活 Maven 配置文件(构建子系统)

java - 如何在另一个序列化程序中使用自定义 Json 序列化程序

java - CrudRepository 上的默认排序?

java - 读取/写入图像的问题

java - 导出的 .jar 上的 Apache POI 未在其他计算机上运行

java - Play Framework - 创建没有模型的表单

java - 调整大小后的图像尺寸大于原始图像

java - org.jacoco :jacoco-maven-plugin 的生命周期配置未涵盖插件执行

java - 无法与 MySQL 建立 JDBC 连接(使用 Java、IntelliJ 和 Linux)

java - 有没有办法给jar文件打补丁?