【问题标题】:Maven jar file editingMaven jar 文件编辑
【发布时间】:2016-10-03 06:31:35
【问题描述】:

目前,对于我正在处理的项目,我正在使用 Maven 风格的项目。

我的所有依赖项都使用 Maven。

我的一个依赖项是 jar 文件 (ExtentReports)。

我想在这个jar 文件中编辑一个XML 文件。我怎样才能做到这一点?

我在网上看到了关于使用 ZIP 工具的信息,但是当我使用 Maven 时,程序重新运行后它不会被覆盖吗?还是我对 Maven 的概念有误?

提前致谢。

编辑:

<?xml version="1.0" encoding="UTF-8"?>
<extentreports>
  <configuration>
    <!-- report theme -->
    <!-- standard, dark -->
    <theme>standard</theme>

我想把上面的改成

<?xml version="1.0" encoding="UTF-8"?>
<extentreports>
  <configuration>
    <!-- report theme -->
    <!-- standard, dark -->
    <theme>dark</theme>

【问题讨论】:

  • 您想编辑您的依赖项之一的 XML 文件,为什么?您可以解压缩依赖项并将 XML 文件放在项目中的某个位置,然后将其作为副本进行处理,这是否符合您的要求?
  • 我想可能吧?您是否有任何文章来说明如何实现这一目标?谢谢@A.DiMatteo
  • 更清楚地说,您是否需要这个编辑过的 XML 用于某些逻辑,或者您需要用您编辑过的 XML 覆盖库中的那个?这个库在运行时是否需要读取编辑并忽略它自己的副本?
  • XML 中有一行需要更改。我没有编辑过的版本,我只想编辑已经存在的版本。

标签: xml maven jar


【解决方案1】:

这不是正确的方法,因为 ExtentReports.jar 的设置部分是默认设置,而您在运行时加载的任何其他设置都会覆盖默认设置。

请看这里:http://extentreports.relevantcodes.com/java/#configuration

从上面的链接复制整个配置块,将其放在一个 XML 文件中,并将其放入您的源代码中。之后,只需在项目启动时使用以下方法之一加载 XML:

// file location: "C:\HelloWorld\extent-config.xml"
loadConfig(new File("C:\HelloWorld\extent-config.xml"));


// loadConfig(Class clazz, String fileName);
// clazz: com.relevantcodes.extentreports.ExtentReports
// packagePath of clazz: com/relevantcodes/extentreports
// final path: com/relevantcodes/extentreports/extent-config.xml
loadConfig(ExtentReports.class, "extent-config.xml");


// loadConfig(Class clazz, String basePackagePath, String fileName;
// clazz: com.relevantcodes.extentreports.ExtentReports
//  packagePath of clazz: com/relevantcodes/extentreports
// basePackagePath: "resources"
// final path: com/relevantcodes/extentreports/resources/extent-config.xml
loadConfig(ExtentReports.class, "resources", "extent-config.xml");

【讨论】:

  • 嘿@Anshoo。这听起来不错!更多的是我在想什么。生病试一试!非常感谢。
  • 还有 Anshoo,这可以用于 JAR 中的任何文件还是仅用于配置文件?
  • 这是根据设计,仅适用于 config.xml。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多