2013-05-25 82 views
5

我已經實現了包含Jython以運行Python腳本的Java應用程序。當我從IDE(Eclipse或IDEA)運行該應用程序時,所有工作正常,Python腳本處理正確。帶有Jython的標準Python模塊的ImportError(在JAR文件中)

然而,當我打包一切到一個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文件夾?

回答

0

我遇到同樣的問題,這裏是我的解決方案: 在您的python腳本中,將lib路徑添加到sys路徑。以下是代碼:

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

如果'Lib'文件夾位於JAR文件中,這有什麼幫助? – Matthias

相關問題