2

我有一个使用 xml.dom.minidom 处理 XML 的 python 脚本。当我通过命令行 (jython myfile.py) 使用 Jython 执行它时,一切都很好。但是当我尝试做同样的事情时,将它嵌入到 java 应用程序中,(我的意思是将它作为 java 字符串读取,然后传递这个字符串进行评估)我得到:

import xml.dom.minidom ImportError: No module named xml

这让我发疯。我尝试使用不同的 jython 版本(2.2、2.5)来清除缓存,但没有任何效果!

Jython 的文档告诉我,我们可以在没有任何特别说明的情况下使用这个模块。

有些人在互联网上遇到了同样的问题,但从未得到任何答复。除了这个: 在这里但仍然没有任何工作。我认为我的 jython 注册表中有正确的值,因为它正在使用命令行工作!只是嵌入使一切都失败了。

我正在使用完整安装的 Jython。

怎么这么麻烦,怎么办?

提前致谢。

4

2 回答 2

1

我以前从来没有这样做过,但是你想像他们在这里这里那样嵌入 jython吗?你知道你jython.jar的java类路径是从哪里得到的吗?如果您知道您的 jython 模块在光盘上的位置,那么您可以像他们在本页底部所做的那样添加该路径。要查找模块的位置,请加载 jython 并查找sys.pathLib. 该位置应该有一个名为xml(xml 包)的目录,其中包含一个名为dom(dom 包)的目录,其中包含一个文件minidom.py(minidom 模块)。

于 2012-02-15T21:18:07.227 回答
0

xml 模块 (jython) 不在嵌入式 jython 的 python 路径中。

这可能会有所帮助:

  • 使用包含 Lib(和所有电池 :-) 的 jython-jar
  • 将 Libs 放在您的 Java 应用程序的类路径中

帮助调试:

在嵌入式 jython 中记录“sys.path”

于 2012-03-15T12:42:07.613 回答