0

我在一个 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()

谢谢!

4

1 回答 1

0

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

"dist/MSMExplorer.jar",
"dist/lib/prefuse.jar" 
于 2012-08-01T07:03:18.863 回答