我在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()
谢谢!
答案 0 :(得分:0)
听起来很愚蠢,这是某种特殊的语法错误。 jar规范之间需要逗号:
"dist/MSMExplorer.jar",
"dist/lib/prefuse.jar"