gpt4 book ai didi

java - Spring Boot - 从外部目录加载 applicationContext.xml

转载 作者:行者123 更新时间:2023-12-02 00:04:17 25 4
gpt4 key购买 nike

我的项目需要从外部目录加载应用程序上下文bean(它应该通过Java程序参数或“类路径”参数等进行管理)。这个想法是,使用 gradle 创建的 JAR 不包含 applicationContext.xml,因此可以更新/替换它,而无需重新构建 JAR。我的 Spring boot 应用程序类如下所示:

@SpringBootApplication
@ImportResource({"classpath:applicationContext.xml"})
public class SampleApplication {

public static void main(String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
}

我的问题是如何实现这一目标?我尝试将 -classpath 参数设置为目录位置,但它不起作用。我在应用程序启动时遇到异常(当我尝试执行 JAR 时):

java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist

最佳答案

首先检查您的类路径实际上是什么样子。您可以通过以下方式做到这一点:

System.out.println(System.getProperty("java.class.path"));

并检查目录的完整路径(或从启动 java 命令的位置的相对路径)是否存在。

如果没问题的话

在主类中而不是

SpringApplication.run(SampleApplication.class, args);

尝试

new SampleApplication().configure(new SpringApplicationBuilder(SampleApplication.class)).run(args);

关于java - Spring Boot - 从外部目录加载 applicationContext.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49762926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com