eclipse - 从 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 但没有内容。非常感谢任何帮助
解决方案
由于没有其他答案,因此更新我用作答案的解决方法
字符串资源=“范围-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);
推荐阅读
- python - 查找不匹配模式的效率
- javascript - 如何迭代这个例子
- logic - Ramda 文档样式名称
- scala - 如何将路径列表传递给 spark.read.load?
- javascript - 如何使用节点热敏打印机连接到 ZPL 打印机?
- machine-learning - 为高精度计算损失函数的权重
- java - JavaFX - 在自定义节点上设置focusedProperty Listener
- rest - 将文件从 Angular 6 应用程序发送到 Spring Boot Web api“所需的请求部分‘文件’不存在”
- java - 如何将 JDK 库添加到我的应用程序?
- python - 如何在 python 中添加导入库的 sphinx 文档?