【问题标题】:Spring Boot/Maven property and system temp folder pathSpring Boot/Maven 属性和系统临时文件夹路径
【发布时间】:2017-06-11 20:37:07
【问题描述】:

我在我的 Spring Boot/Maven 项目中声明了以下属性:

@Value("${download.folder.path}")
private String downloadFolderPath;

download.folder.path 是在我的 application.properties 文件和 Maven 配置文件中声明的属性。

现在属性值是这样的:

<download.folder.path>d:/somedir</download.folder.path>

一切正常,但我想将download.folder.path 属性指向我的测试的默认系统临时文件夹,而不是提供真实路径。

是否可以使用 Spring/Maven 配置?

【问题讨论】:

  • “默认系统临时文件夹”是什么意思?除非有这个环境变量,否则恐怕是不可能的。

标签: java spring maven spring-boot


【解决方案1】:

使用对 java tmp dir 属性的引用(检查 System.getProperty("java.io.tmpdir"))并像这样引用该属性

<download.folder.path>{java.io.tmpdir}</download.folder.path>

the reference properties here

【讨论】:

  • 谢谢!这正是我所需要的。
【解决方案2】:

如果您使用的是 Spring Boot,请查看 @TestPropertySource

https://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#__testpropertysource

您应该能够使用它指向/tmp 或任何地方。

【讨论】:

    【解决方案3】:

    1.) 在 SpringBoot 主类中编写以下内容以使整个应用程序正常工作:

    System.setProperty("java.io.tmpdir", "C:\\Users\\abcde\\Desktop\\Temp");
    

    2.) 在 Spring Boot 应用程序中运行 JUnit 时,我在 VM Arguments 中设置了 -Djava.io.tmpdir=C:\Work\TEMP,它对我有用。

    【讨论】:

      猜你喜欢
      • 2015-03-18
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 2022-11-10
      • 2013-10-08
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多