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

Spring Boot,无法从依赖项jar读取application.properties

颜啸
2023-03-14

我有这种情况。我正在用Spring Boot开发一个REST服务,我有一个dependency jar,这是另一个Spring Boot项目,我使用以下方法将其作为一个依赖项包括在内:

https://docs.spring.io/spring-boot/docs/2.1.4.release/maven-plugin/examples/repackage-classifier.html

一切都编译得很好,我可以从依赖项jar调用类。在dependency jar的代码中,我使用@value注释从“父亲”项目的application.properties中读取值,但它总是返回null。

如果我尝试从父项目中读取相同的值,它就可以工作了。

为了避免奇怪的双属性文件,我删除了依赖项jar中的原始application.properties文件,但没有任何变化。

有什么解决这个问题的想法吗?

提前谢了。

共有1个答案

贺玉石
2023-03-14

我能想到两个你可以试试的选择。

尝试将父级application.properties包含在@PropertySources注释中。您可能必须确保两个应用程序之间的属性文件不同。在这个答案中有更多的描述。

将父项目设置为具有可插入应用程序的配置属性类,并检索必要的属性。

@Data // Part of the Lombok project, creates the getters/setters automatically
@ConfigurationProperties(prefix = "application.specific.prefix")
public class ApplicationConfig {
    private String someValue;
    private Integer importantNumber;
}
application.specific.prefix.some-value=Spring Boot is great!
application.specific.prefix.important-number=42
@Autowired
private ApplicationConfig applicationConfig;
applicationConfig.getSomeValue();
 类似资料:
  • 问题内容: 我创建了一个非常简单的默认应用程序,用于在Windows 7计算机上测试Eclipse Indigo / Maven v3.0.1设置。Hello World应用程序可以从Eclipse正常运行。 现在从命令行尝试进行测试。 在这一点上,我看到Maven下载了大量的依赖项。出于某种原因,尽管下载它会停滞不前,但只会部分停止。每次都不在同一时间,但是当前始终是相同的jar文件,例如… h

  • 问题内容: 我想启动一个Node应用程序,并使用教程创建了 package.json 文件。这是json文件: 在尝试运行JSON文件之前,我已经对其进行了验证,但是在运行命令时仍然收到错误消息: 这是 npm-degub.log 文件 问题答案: 尝试添加以下内容: 它为我工作。 编辑 (对于问为什么的人): 该公报的文件规定如下: 如果在package.json中设置,则npm将拒绝发布它。这

  • 我有以下前缀: 有办法 在intellij中,idea工作正常,但启动jar时出现错误: JAVA尼奥。文件NoSuchFileException:文件:/app。罐子/BOOT-INF/classes/模板/请求订单/未标记/请求订单未标记。pdf

  • 一个月前,我可以在IntelliJ的基础上从头开始成功地构建Java应用程序,现在,我必须升级spring boot以获得一些新功能。但是,在我将spring boot的版本从2.2.2更改之后。发布到其他版本,然后单击“重新加载所有Maven项目”按钮,我会收到以下消息: 一个月前下载2.2.2还可以。释放。为什么此时更新失败?我的信息如下:MacOS 12.2,捆绑(Maven 3),Java

  • 我想使用第三方供应商的jar。但是在这个jar中,我有Java包的旧版本我需要找到一些方法将包从主项目中排除。像这样的东西: 你能推荐一些解决方案吗?

  • 问题内容: 当我输入command go build时,我有一个项目具有来自bitbucket上私人存储库的多个依赖项。我得到这个错误 无法识别的导入路径“ bitbucket.xxx.xx / xx / x” x509:证书由未知授权机构签名 我已经尝试了几种方法,例如添加令牌 git config –global http.extraheader令牌 配置为ssh git config –gl