Jython Jar依赖关系导入失败

时间:2012-08-01 06:37:38

标签: java python jython

我在jar中有一个应用程序,它依赖于不同jar中的少数库。

这是我的问题: 当我只导入我的主应用程序文件时,jython似乎正确加载了类,但是通过NoClassDefError(在其中一个支持的库jar中表示)抱怨缺少类。

但是,如果我现在将该jar添加到类路径中,Jython将无法再找到原始导入,并抱怨:ImportError: No module named edu

我的代码:

import sys 

def setClassPath():
     libDir = "/Users/gestalt/Documents/msmexplorer_git/msmexplorer/MSMExplorer/"
     classPaths = [ 
          "dist/MSMExplorer.jar"
          "dist/lib/prefuse.jar" #the missing class is here, but this line causes package edu to go missing
     ]   
     for classPath in classPaths:
          sys.path.append(libDir+classPath)

def runJavaClass():
     from edu.stanford.folding.msmexplorer import MSMExplorer
     me = MSMExplorer()

def main():
     setClassPath()
     runJavaClass()

if __name__ == "__main__":
     main()

谢谢!

1 个答案:

答案 0 :(得分:0)

听起来很愚蠢,这是某种特殊的语法错误。 jar规范之间需要逗号:

"dist/MSMExplorer.jar",
"dist/lib/prefuse.jar"