当前位置: 首页 > 知识库问答 >
问题:

Spring Boot WS应用程序无法加载外部属性

章高朗
2023-03-14

在我的SpringBootWeb服务应用程序中,我想加载一个名为appName的属性,该属性的值在application.properties中定义。

@Endpoint
public class RasEndpoint {

private static final String NAMESPACE_URI = "http://www.mycompany.com/schema/ras/ras-request/V1";

@Value("${appName}")
private String appName;

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getProductRequest")
@ResponsePayload
public GetProductResponse getProduct(@RequestPayload GetProductRequest request) {

    System.out.println("appName: " + appName);
    GetProductResponse response = generateStubbedOkResponse();
    return response;
}

application.properties具有以下条目

appName=ras-otc

我通过主应用程序类启动应用程序,如下所示

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {

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

但是,当我运行应用程序时,我得到以下错误

原因:java.lang.IllegalArgumentException:无法解析字符串值“${appName}”中的占位符“appName”

你们知道我做错了什么吗?

感谢任何帮助。

共有1个答案

连德义
2023-03-14

正如Dave在上面的评论中提到的,属性文件没有加载到类路径中。属性文件位于/src/main/resources文件夹中,该文件夹被添加到源代码中,位于EclipseIDE的构建路径下,但是应用了一个排除规则,该规则阻止将属性文件加载到类路径中。通过删除排除,我能够正确加载属性。

 类似资料:
  • 我正在开发一个spring boot应用程序 我想用外部文件(例如)重写中的某些属性。 我尝试了几种方法: 中的“我的应用程序.属性”中的 我使用对其进行了测试。第一个方法只添加了属性,但没有重写它们。

  • 部署在Heroku上的Rails应用程序无法加载。我设置了数据库迁移,我还有puma和procfile。。。我真的不知道。 这是我的日志: 宝石文件 程序文件 配置/puma.rb 工人整数(ENV['WEB_CONCURRENCY']||2)threads_count=整数(ENV['RAILS_MAX_THREADS']||5)线程threads_count,threads_count pre

  • 我的场景如下: 我有一个部署到servlet容器的webapp.war。此webapp.war在web-inf/lib中包含以下库: lib_a.jar lib_b.jar 我还有一个库,比如lib_vendor.jar,由于许可问题,我无法在webapp/web-inf/lib中部署,所以我让客户在应用程序安装后在tomcat/lib中复制这个库。但是由于lib_vendor.jar需要在web

  • 我正在尝试集成联邦快递API并得到这个错误。 警告:SoapClient::SoapClient()[SoapClient.SoapClient]:I/O警告:无法加载测试中的外部实体“./wsdl/RateService_v13.wsdl”。php在线12 致命错误:未捕获SoapFault异常:[WSDL]SOAP-ERROR:解析WSDL:无法从'.../wsdl/RateService_v

  • 我已经提供了Linux SWT jar,并在Eclipse中打包了应用程序,以便在应用程序的jar中包含SWT.jar。当我尝试在Ubuntu上运行它时,我得到了以下错误文本(发布只是原因):

  • 我在spring-boot 2.2.4中有一个应用程序 当我像这样启动应用程序时: 未能解析值“${nas.base.directory}”中的占位符“nas.base.directory” 我尝试使用OS ubuntu、RH8和spring-boot 2.2.4或2.1.3并用--spring.config.location替换-dconfig.location