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

忽略“当前目录”中的Spring Boot外部属性文件

费秦迟
2023-03-14

从手册:

类路径/配置包

类路径根

它两次提到当前目录,但这并不意味着什么:

我需要为文件找到正确的外部位置,这样我就不必在应用程序中构建数据库凭据。

指南中说,将application.properties放在当前目录中会起作用,我找到了要将其放入的确切当前目录,但它仍然不起作用,我可以通过以下命令的输出来验证这一点:system.out.println(system.getproperty(“spring.datasource.url”));它是null它只通过嵌入的属性文件输出正确的值。

共有1个答案

夏侯鹏
2023-03-14

根据ConfigFileApplicationListener:

// Note the order is from least to most specific (last one wins)
private static final String DEFAULT_SEARCH_LOCATIONS =
       "classpath:/,classpath:/config/,file:./,file:./config/";

文件:./解析到启动java进程的工作目录。

 类似资料:
  • 例如: 问题是,当我使用ObjectMapper进行序列化时,它会尝试序列化DbItem类的成员。有没有什么简单的方法可以预防呢?例如使用注释。 我看过一个类似的问题Jackson序列化:如何忽略超类属性,但我希望它可以做得更简单,我不确定我是否可以这样做,因为我不能更改超类,因为它在一个外部库中。

  • 问题内容: 我正在使用ORM进行开发,在其中我扩展了基orm类来创建表。 例如: 问题是,当我使用ObjectMapper进行序列化时,它将尝试序列化DbItem类的成员。有没有简单的方法可以防止这种情况?例如带有注释。 我看过一个类似的问题,杰克逊序列化:如何忽略超类属性,但我希望可以将其简化,而且我不确定是否可以这样做,因为我无法更改超类,因为它位于外部库。 问题答案: 您可以使用混入或 对于

  • 我有一个Maven java项目,我的日志。属性放在资源文件夹下。我已配置为使用控制台记录器打印FINE级别的消息。 生成的WAR文件在WEB-INF/class下有属性文件,但是,应用程序在部署和执行时,我只能看到INFO级别的日志。 除了将logging.properties放在正确的路径中之外,我还应该初始化任何日志配置吗?

  • 问题内容: 我正在使用ORM进行开发,在其中我扩展了基本orm类来创建表。 例如: 问题是,当我使用ObjectMapper进行序列化时,它将尝试序列化DbItem类的成员。有没有简单的方法可以防止这种情况?例如带有注释。 问题答案: 您可以使用混入或 就这些示例而言,假定基本的ORM类和扩展名是: 和 分别。 使用混入 混合是杰克逊从对象本身理解的反序列化指令的抽象。这是自定义第三方类的反序列化

  • 我在应用程序中设置了以下Maven多模块。属性以及模块A中相应的属性类和配置: 应用程序。特性: 以及 然后是模块C和我的应用程序: 相关: 还有豆子测试。属性文件: 从中删除最后一个bean时,应用程序将启动。但是,有了这个bean定义,我得到了以下错误: 描述:无法注册在类路径资源[c/CConfiguration.class]中定义的bean“cityProperties”。已在文件[/mo

  • 问题内容: 我在GlassFish 4上使用java.util.logging。 我正在定义自己的类,以通过定义System属性 来初始化。 我的班级加载文件,将其与其他属性文件合并,并进行一些自定义替换。 以下是我文件的相关部分: 我正在使用标准并将其配置为使用格式化程序。 但是字符串被完全忽略了。相反,SimpleFormatter使用其默认格式。 我哪里做错了? 问题答案: 我假设系统属性是