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

Spring Boot应用程序未从从属jar中提取Application.Properties

松成和
2023-03-14
caseinvocation.query.fetchNonProcessedCaseXml=SELECT Id, CaptureSource, AgreementNumber, CaptureSourceID FROM CaseInvocation WHERE ProcessIndicator IN (0, 2)

service类有一个方法可以进行查询,从Application.properties文件中填充了属性的成员变量中获取查询字符串:

  @Value("${caseinvocation.query.fetchNonProcessedCaseXml}")
  private String selectNonProcessedQueryString;

第二个SpringBoot应用程序是一个具有REST控制器的Web应用程序。这些控制器公开调用CaseInvocationAPI库(特别是CaseInvocationService类)的endpoint。

我遇到的问题是,当SpringBoot WEBAPPLICATION启动时,上下文配置会出现以下错误:

Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'caseinvocation.query.fetchNonProcessedCaseXml' in string value "${caseinvocation.query.fetchNonProcessedCaseXml}"
    at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)
    at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
    at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:219)
    at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:193)
    at org.springframework.context.support.PropertySourcesPlaceholderConfigurer$2.resolveStringValue(PropertySourcesPlaceholderConfigurer.java:172)
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:813)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1039)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1019)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:566)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:349)
    ... 45 common frames omitted

我检查了编译好的jar文件(CaseInvocationAPI),Application.properties文件就在jar中。

共有1个答案

杜烨伟
2023-03-14

问题似乎与子jar和webapp都有application.properties文件有关。我没有意识到父WebApp application.properties覆盖了其他应用程序(实际上忽略了所有其他应用程序)。

特别感谢Paschoal的回应。

您可以在这里看到答案的详细信息:添加多个application.properties文件

 类似资料:
  • 我正在使用SpringDoc1.4和Spring-Boot2.3,在OperationCustomizer类中,我需要从应用程序属性文件中读取值。但每次都将字段初始化为。规格如下 应用程序.属性 OperationCustomizer类

  • 我正在开发一个SpringBoot应用程序(例如MyApp),它依赖于两个具有不同实现的数据项目: data-jdbc.jar 使用构建,它公开我的应用程序将使用的JDBCDataService类 示例代码: null null null 示例存储库: 在我的SpringBoot项目中,我有以下SpringBoot主应用程序: 在我的业务服务类中,我有以下注入 我现在已经找到了解决问题的办法。为了

  • 问题内容: 我正在尝试在Java Webstart应用程序中加载许多资源。 我最初尝试使用以下命令加载这些文件: 但这没有用-它引发了IllegalArgumentException。进一步的研究表明,该方法不适用于从jar文件访问资源,因此我需要使用以下方法: 但是,当我从Jnlp使用它运行时,得到奇怪的结果。如果我运行以下命令: 在我的IDE中,我得到了对与错(正如我期望的那样)。从jnlp运

  • "app-login\pom.xml" “应用程序登录客户端\pom.xml” “应用程序登录服务器\pom.xml” "app-login-share\pom.xml" 在最后一分钟,我看到“lib-resource”项目位于“lib-bloated”下,请在下面的“lib-bloated\pom.xml”中找到它 提前谢谢。

  • 我是springboot的新手,我正在尝试从application.properties文件的位置(src/main/resources)读取属性值。但它总是返回NULL。我也需要帮助。附加类和属性文件。请注意:我试过“https://www.baeldung.com/properties-with-spring”如何访问Spring Boot中application.properties文件中定

  • 我正在探索如何从JAR文件提供JSP。我使用的是SpringBoot 1.5.10。释放 我提到了这个 包括位于src/main/Resources/META-INF/Resources/WEB-INF/jsp/位置的JSP 视图解析器的前缀为 /WEB-INF/jsp/,后缀为. jsp 奇怪的事情是,当我运行项目作为启动应用程序或Java应用程序时,我能够击中控制器并得到所需的JSP文件作为响