Java 使用Jython导入标准Python模块(在JAR文件中)
我已经实现了一个Java应用程序,其中包括运行Python脚本的Jython。当我从IDE(Eclipse或IDEA)运行该应用程序时,一切都正常,Python脚本得到了正确的处理 但是,当我将所有内容打包到一个JAR文件(即将发布)中时,包括Java 使用Jython导入标准Python模块(在JAR文件中),java,jar,classpath,jython,Java,Jar,Classpath,Jython,我已经实现了一个Java应用程序,其中包括运行Python脚本的Jython。当我从IDE(Eclipse或IDEA)运行该应用程序时,一切都正常,Python脚本得到了正确的处理 但是,当我将所有内容打包到一个JAR文件(即将发布)中时,包括jython.JAR文件,当Java应用程序尝试运行第一个Python脚本时,就会出现以下错误: ImportError: No module named os 因此,似乎找不到包含所有标准Python模块的Lib文件夹。我检查了Java应用程序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 path添加到sys path。代码如下:
import sys
libPath="C:\\jython2.7b1\\Lib"
sys.path.append(libPath)
如果
Lib
文件夹在JAR文件中,这有什么帮助?