Как загрузить файл ресурсов в плагин jenkins? - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь загрузить файл ресурсов, который находится в папке 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 голосов
/ 19 декабря 2018

Вопрос задан давно, но я просто подумал поделиться своим ответом на случай, если он поможет кому-то, кто сталкивался с подобной мне проблемой.

Выполните следующие действия: Это работает в моем случае:

  1. Поместите файл в папку «resources», которая обычно находится по пути «src / main / resources».В IntelliJ IDE пометьте каталог ресурсов как «корень ресурса».
  2. Поскольку файлы размещены внутри ресурсов, они находятся в каталоге, который находится на пути сборки, поэтому maven должен иметь возможность загрузить его без установки дополнительного пути сборки.
  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();
          }
        }        
    
...