如何在jenkins插件中加载资源文件?

时间:2018-04-25 12:33:09

标签: maven jenkins jenkins-plugins

我正在尝试加载位于src / main / resources文件夹中的资源文件,作为Jenkins插件的一部分。它总是给我 FileNotFoundException 。有人可以解释一下如何使其发挥作用吗?

异常消息:

java.io.FileNotFoundException: file:/var/lib/jenkins/plugins/Report/WEB -INF/lib/Report.jar!/properties.txt (No such file or directory)

1 个答案:

答案 0 :(得分:0)

很久以前就问过这个问题,但我只是想分享我的答案,以防遇到类似我的人遇到问题。

请按照以下步骤操作:在我的情况下有效:

  1. 将文件放置在“资源”文件夹中,该文件夹通常位于 路径“ src / main / resources”。在IntelliJ IDE中,标记资源 目录作为“资源根”。
  2. 由于文件位于资源内部,因此它们位于目录中 多数民众赞成在构建路径,所以行家应该能够加载此而无需 设置其他构建路径。
  3. 假设文件名为“ application-env.properties”。以下代码块应 在jenkins插件运行时从资源文件夹中提取文件。

        InputStream inputStream = null;
        try{
          String resourceName = "application-env.properties";
          Properties props = new Properties();
          ClassLoader cl = <NameOfThisClass>.class.getClassLoader();
          try (InputStream stream = cl.getResourceAsStream(resourceName)) {
            props.load(stream);
          }
          //read props or return the same to the caller
        } 
        finally {
          if (inputStream != null) {
            inputStream.close();
          }
        }