我有一个基本的 SpringBoot 应用程序。使用 Spring Initializer、嵌入式 Tomcat、Thymeleaf 模板引擎,并打包为可执行 JAR 文件。
这是我的配置类之一
@Configuration
@EnableTransactionManagement
@EnableCaching
@PropertySource("file:///${user.home}/.devices/application-common.properties")
public class DeviceApplicationConfig {
..
}
我用 devuser
进入 linode 机器:
devuser@localhost:~$ pwd
/home/devuser
然后我运行 SpringBoot 应用程序。来自文件夹/var/devices
,但是我有这个错误,而我期待程序在以下位置搜索文件:/home/devuser/.devices/application-common.properties
Caused by: java.io.FileNotFoundException: /root/.devices/application-common.properties (No such file or directory)
并检查应用程序似乎是由 devuser 运行的进程:
devuser 12922 1.3 12.3 2478348 252840 ? Sl 15:16 0:37 java -jar devices-0.0.1-SNAPSHOT.jar
最佳答案
您需要配置user.home
目录并从此用户运行应用程序。对于 user.home
的配置,您可以引用下面的 stackoverflow
链接:
关于linux - Ubuntu 14.04 LTS 磁盘中的 ${user.home},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44987750/