【发布时间】:2021-06-02 01:14:40
【问题描述】:
我正在尝试使用 MPXJ 库和 Jpype 将 MPP 文件转换为 MS XML 格式
def convert(inputFile, outputFile):
reader = ProjectReaderUtility.getProjectReader(inputFile)
project = ProjectFile()
project = reader.read(inputFile)
writer = ProjectWriter
writer = ProjectWriterUtility.getProjectWriter(outputFile)
writer.write(project, outputFile)
如果我尝试转换为 json 格式,这会很好。但是,总是存在与 xml 文件相关的错误。我收到与 java xml 库相关的错误
java.io.IOException: java.io.IOException: javax.xml.bind.JAXBException:
Implementation of JAXB-API has not been found on module path or classpath.
with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory]
任何人都可以帮助解决这个问题。 我正在使用带有 jdk-15.0.2 的 Python 3.8
【问题讨论】:
-
您使用的是什么版本的 MPXJ?
-
... 作为后续行动,您如何配置 JPype 以获取 MPXJ jar 及其依赖项?
-
我正在使用 MXPJ 版本 9.0.0 对于配置我已经加载了 jar 文件 import jpype import jpype.imports from jpype.types import * from collections import defaultdict import sys jpype.startJVM(jpype.getDefaultJVMPath (), "-ea") jpype.addClassPath("mpxj-9.0.0.jar") jpype.addClassPath("poi-5.0.0.jar") jpype.addClassPath("commons-math3-3.6.1.jar" ") jpype.addClassPath("commons-collections4-4.4.jar") jpype.addClassPath("jcl-over-slf4j-1.7.30.jar") jpype.addClassPath("slf4j-api-1.7.30.jar") jpype.addClassPath("SparseBitSet-1.2.jar") jpype.addClassPath("commons-codec-1.15.jar")
-
jpype.addClassPath("rtfparserkit-1.16.0.jar") jpype.addClassPath("jaxb-api-2.3.1.jar")
-
Java(TM) SE 运行时环境(内部版本 1.8.0_281-b09)Java HotSpot(TM) 64 位服务器虚拟机(内部版本 25.281-b09,混合模式)
标签: java python python-3.x jpype mpxj