我已经实现了一个包含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
文件夹?
答案 0 :(得分:0)
我遇到同样的问题,这是我的解决方案: 在python脚本中,将Lib路径添加到sys路径。以下是代码:
import sys
libPath="C:\\jython2.7b1\\Lib"
sys.path.append(libPath)