Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的配置文件应该放在哪里以避免ubuntu运行&;自动运行问题_Java_Spring Boot_Ubuntu 16.04 - Fatal编程技术网

Java 我的配置文件应该放在哪里以避免ubuntu运行&;自动运行问题

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 通过这样做

我有一个Spring引导应用程序,它在自己引导时读取一些配置文件。在java代码中,我使用基本路径,如:

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 boot
    jar
    文件,否则,无法找到配置文件,因为
    java-jar
    命令将尝试在
    目录下查找这些文件(触发命令的当前目录。)

  • 如果我尝试在ubuntu中自动运行spring引导服务,我会失败,我不确定,但我想这是因为我没有
    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
    @Steve
    System.getProperty(“config\u file\u loc”)
    获取路径?