Java 我的配置文件应该放在哪里以避免ubuntu运行&;自动运行问题
我有一个Spring引导应用程序,它在自己引导时读取一些配置文件。在java代码中,我使用基本路径,如:Java 我的配置文件应该放在哪里以避免ubuntu运行&;自动运行问题,java,spring-boot,ubuntu-16.04,Java,Spring Boot,Ubuntu 16.04,我有一个Spring引导应用程序,它在自己引导时读取一些配置文件。在java代码中,我使用基本路径,如: private static final String ubuntu_base_path= FileSystems.getDefault().getPath(".").toAbsolutePath().toString(); 我将尝试在一些位置查找配置文件,比如ubuntu\u base\u path+config\u file\u name 通过这样做
private static final String ubuntu_base_path=
FileSystems.getDefault().getPath(".").toAbsolutePath().toString();
我将尝试在一些位置查找配置文件,比如ubuntu\u base\u path+config\u file\u name
通过这样做,我遇到了两个问题,让我想知道我的basePath
想法是否好
java-jar
命令运行spring bootjar
文件,否则,无法找到配置文件,因为java-jar
命令将尝试在
目录下查找这些文件(触发命令的当前目录。)
cd
到配置文件所在的目录,因此无法找到它们
有什么建议吗?在run命令中配置类路径('-cp=…')指向配置文件所在的文件夹。如果它们位于类路径中,Spring应该找到它们。你在说什么配置文件,标准的Spring配置文件,还是你自己的配置文件?@Steve my own files。查找外部文件通常是一件痛苦的事。这就是为什么在可能的情况下,通常最容易将它们放在你的.jar文件中。否则,你必须有一些方法来推断它们在哪里。你使用的是“程序运行时从cwd”,但这有点麻烦。我看到另外两个选项:1)选择硬编码位置,或2)向程序传递一个参数,告诉它配置文件在哪里。遇到这个问题时,我大部分时间都使用后一种解决方案。比如:
java-Dconfig\u file\u loc=/home/joe/prog/configs-jar/path/to/jarfile
@SteveSystem.getProperty(“config\u file\u loc”)
获取路径?