使用Jython的标准Python模块的ImportError(在JAR文件中)

时间:2013-05-25 20:17:19

标签: java jar classpath jython

我已经实现了一个包含Jython的Java应用程序来运行Python脚本。当我从IDE(Eclipse或IDEA)运行该应用程序时,一切正常,Python脚本处理正确。

但是,当我将所有内容打包到一个JAR文件(待发布)中,包括jython.jar文件时,一旦Java应用程序尝试运行第一个Python脚本,我就会收到以下错误:

ImportError: No module named os

所以似乎找不到包含所有标准Python模块的Lib文件夹。我检查了Java应用程序的JAR文件中包含的jython.jar文件,它确实包含了Lib文件夹。实际上,这是同一个jython.jar文件,当我从IDE运行应用程序时,它也会被使用。

我知道可以指定-Dpython.path参数,但我不知道在这里设置什么。如何引用位于主应用程序的JAR文件中的Lib文件中的jython.jar文件夹?

1 个答案:

答案 0 :(得分:0)

我遇到同样的问题,这是我的解决方案: 在python脚本中,将Lib路径添加到sys路径。以下是代码:

import sys
libPath="C:\\jython2.7b1\\Lib"
sys.path.append(libPath)