从 Eclipse 中导出 JAR - Class 文件和 jar 中的 config.xml 文件 - 如何在 xx.class 中使用此配置文件

Exported JAR from Eclipse - Class file and config.xml file inside jar - How do I use this config file in xx.class

我正在尝试使用 config.xml 文件自定义范围报告。当来自 eclipse 的 运行 时一切正常。我的 config.xml 位于资源文件夹中。但是,当我导出为可运行的 JAR 文件时,代码因 NPE 而失败,因为它找不到 config.xml 文件。我尝试了各种选项,还尝试写入临时文件,如下所示。

         ClassLoader classLoader = ClassLoader.getSystemClassLoader();
         InputStream resource = classLoader.getClass().getResourceAsStream(extentfileName);
         final File tempFile = File.createTempFile("extent-config", ".xml", new File("./"));
         System.out.println(tempFile.getAbsolutePath());
         tempFile.deleteOnExit();
         try (FileOutputStream out = new FileOutputStream(tempFile)) {
             IOUtils.copy(resource, out);}

在上面的代码中,创建了临时文件但没有内容。非常感谢任何帮助

由于没有其他答案,更新我用作答案的解决方法

String resource = "extent-config.xml"; InputStream input = MyClassName.class.getResourceAsStream("/resources/" + resource); String body = IOUtils.toString(input, StandardCharsets.UTF_8.name());
extenttempFile = File.createTempFile("extent-config", ".xml", new File("./")); extenttempFile.deleteOnExit();
试试 (FileOutputStream out = new FileOutputStream(extenttempFile)) {IOUtils.write(body, out);} report.loadConfig(extenttempFile);