【问题标题】:Deploy a jar file with resource files in heroku在heroku中部署一个带有资源文件的jar文件
【发布时间】:2020-10-22 09:33:28
【问题描述】:

我正在尝试使用 maven 插件在 Heroku 中部署一个 .jar 文件。我在src/main/resources 文件夹中有两个文件使用程序中的File 类读取。我可以在正常执行 jar 文件时访问它们,但是当部署到 Heroku 时,我无法确定它们的存储位置。运行 jar tf <filename>.jar 会使这两个文件不在一个文件夹中。部署到 Heroku 时这两个文件的路径是什么?

【问题讨论】:

    标签: java maven heroku


    【解决方案1】:

    当需要在目标目录中添加一些文件时,我会在我的项目中使用此代码

    <build>
        <resource>
        <directory>./src/main/resources</directory> 
            <targetPath>./</targetPath>
        </resource> 
        <resource> 
        <!-- mkdir -->
        <directory>./filestorage</directory>
        <targetPath>../filestorage</targetPath>
        </resource>
    <build>
    

    【讨论】:

      【解决方案2】:

      您正在寻找Class#getResourceClass#getResourceAsStream。它可以让您以 URL 或 InputStream 的形式访问打包的 JAR 文件中的文件。

      InputStream is = getClass().getResourceAsStream("/data.json");
      

      一个类似的问题是asked and answered here

      【讨论】:

        猜你喜欢
        • 2015-10-15
        • 2018-09-18
        • 2021-11-05
        • 2010-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-28
        • 2021-01-08
        相关资源
        最近更新 更多