获取Spring Boot jar中的资源文件夹的路径

时间:2020-09-01 19:06:02

标签: java spring-boot properties resources gcloud

我正在尝试将Java应用程序项目转换为Spring Boot,并尝试通过使用以下cmd在gcp中部署此Spring Boot项目jar

gcloud app deploy <projectname>.jar

在我的应用程序内部,我正在使用需要2个属性文件的apache核心依赖项之一,并将其​​放置在项目目录下

--PROJECTNAME<root>
----/.idea
----/config/bin/config.properties
----/src
------/main
------/...
------/...

并且我只能为属性文件设置路径,其余的事情将由ap​​ache依赖类文件处理。如果这些属性在jar位置本身中可用,则在IDE和jar中都可以正常工作。

因此,当我使用以上cmd在gcp中部署此项目时,我可以看到此项目已复制到gcp应用引擎中的/ workspace /目录下。因此,要么我需要在gcp中的/ workspace /目录下复制此属性文件,要么需要访问jar中的属性文件,但是我只能传递path(String)。 在apache类文件中,下面的代码用于读取属性文件。

BufferedReader reader = Files.newBufferedReader((new File( <path which i can pass> + "/bin/config.properties")).toPath(), Charset.defaultCharset());
and 
FileInputStream fis = new FileInputStream(<path which i can pass> + "/bin/config.properties");

1 个答案:

答案 0 :(得分:0)

我想您可以将配置文件放入src / main / resources中,因为我看到您的配置位于src dir之外,因此在类中,您需要执行getClass().getClassLoader().getResource("config/bin/config.properties")文件才能获取文件作为URL,并为其打开InputStream。