我已经实现了一个包含 Jython 的 Java 应用程序来运行 Python 脚本。当我从 IDE(Eclipse 或 IDEA)运行该应用程序时,一切正常,Python 脚本得到正确处理。
但是,当我将所有内容打包到一个 JAR 文件(待发布)中时,包括 jython.jar
文件,然后一旦 Java 应用程序尝试运行第一个,我就会收到以下错误Python 脚本:
ImportError: No module named os
所以似乎找不到包含所有标准 Python 模块的 Lib
文件夹。我检查了 Java 应用程序的 JAR 文件中包含的 jython.jar
文件,它确实正确地包含了 Lib
文件夹。事实上,当我从 IDE 运行应用程序时,它也使用了相同的 jython.jar
文件。
我知道可以指定 -Dpython.path
参数,但我不知道在这里设置什么。如何引用主应用程序 JAR 文件中 jython.jar
文件中的 Lib
文件夹?
最佳答案
我遇到了同样的问题,这是我的解决方案: 在您的 python 脚本中,将 Lib 路径添加到 sys 路径。以下是代码:
import sys
libPath="C:\\jython2.7b1\\Lib"
sys.path.append(libPath)
关于java - 使用 Jython 的标准 Python 模块的 ImportError(在 JAR 文件中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753517/