首页 > 解决方案 > 从 Eclipse 导出的 JAR - jar 中的类文件和 config.xml 文件 - 如何在 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);}

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

标签: eclipsejarselenium-extent-report

解决方案


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

字符串资源=“范围-config.xml”;InputStream input = MyClassName.class.getResourceAsStream("/resources/" + resource); 字符串主体 = 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);


推荐阅读