不在 IDE 中时出现 Apache POI 错误
Apache POI error when not in IDE
我们正在使用 Apache POI 创建一个非常简单的电子表格。一切都在开发环境中工作。发布时,项目作为可运行的 JAR 导出;这个 jar 和所有需要的库都放在中央服务器上。各种 PC 都引用这些相同的文件。
在大多数 PC(Linux 和 Win7)上,一切正常。然而,在少数 Win7 机器上,我们收到错误:
DOMSource cannot be processed: check that saxon9-dom.jar is on the
classpath.
我试过adding the -D option as suggested here,没用。无论如何,目前还不清楚为什么依赖关系应该只在某些机器上中断。加载库的顺序会有所不同吗?
我也试过将所有依赖项提取到导出的 jar 文件中。这个(非常胖!)jar 文件在完全相同的机器上工作 - 或不工作。
我很茫然:什么会导致 Apache POI 在某些机器上以这种方式失败?
事实证明这是旧版 LibreOffice 的问题(具体来说,受影响的系统仍然是 运行 3.6 版)。更新到 LibreOffice 5.0 解决了这个问题。
确切地 how/why LibreOffice 影响了 Apache POI 中的 XML 处理尚不清楚。反正现在已经不重要了
我们正在使用 Apache POI 创建一个非常简单的电子表格。一切都在开发环境中工作。发布时,项目作为可运行的 JAR 导出;这个 jar 和所有需要的库都放在中央服务器上。各种 PC 都引用这些相同的文件。
在大多数 PC(Linux 和 Win7)上,一切正常。然而,在少数 Win7 机器上,我们收到错误:
DOMSource cannot be processed: check that saxon9-dom.jar is on the classpath.
我试过adding the -D option as suggested here,没用。无论如何,目前还不清楚为什么依赖关系应该只在某些机器上中断。加载库的顺序会有所不同吗?
我也试过将所有依赖项提取到导出的 jar 文件中。这个(非常胖!)jar 文件在完全相同的机器上工作 - 或不工作。
我很茫然:什么会导致 Apache POI 在某些机器上以这种方式失败?
事实证明这是旧版 LibreOffice 的问题(具体来说,受影响的系统仍然是 运行 3.6 版)。更新到 LibreOffice 5.0 解决了这个问题。
确切地 how/why LibreOffice 影响了 Apache POI 中的 XML 处理尚不清楚。反正现在已经不重要了