使用 ODFDOM Java API 编写 ODF 电子表格文档 导出模块名称 添加依赖指令

问题描述

我想用模块将旧程序从 Java 8 更新到 Java 15,因此我重写和更新了很多代码。一切正常,直到更新库以编写电子表格文档。

在旧版本中,我使用 org.odftoolkitsimple-api 和 maven。

<dependency>
    <groupId>org.odftoolkit</groupId>
    <artifactId>odfdom-java</artifactId>
    <version>0.8.7</version>
</dependency>
<dependency>
    <groupId>org.odftoolkit</groupId>
    <artifactId>simple-java</artifactId>
    <version>0.4</version>
</dependency>

here 所述,此 API 已弃用,我想过渡到当前的 ODFDOM API。但是文档不是最新版本,我没有找到 java 模块的示例。

添加了 maven 依赖项,但问题是如何将其添加module-info.java 文件中。我所有的尝试

requires org.odftoolkit.odfdom.doc.table;

或同等条件下惨败。

我的问题可能很简单,但对我来说,这是一座大山。这样做的正确方法是什么?感谢您的任何意见。

解决方法

导出模块名称

jar --file=/path/to/your/jar/odfdom-java-0.8.7.jar --describe-module

添加依赖指令

在您的情况下,如果这些依赖项尚未模块化或声明其 Automatic-Module-Name。您仍然可以在模块指令中使用派生名称来使用模块包中的公共类。

requires odfdom.java;
requires simple.java;

作为模块声明指南的specification

requires {RequiresModifier} ModuleName ;

RequiresModifier:
(one of)
transitive static

您需要指定模块名称,而不是您的代码将依赖的包。

此外,通过一些研究,我发现您可能想要测试工具包的 BETA 或 RC 版本,如 repository tags 和 maven central 中所列。