2009-09-16 94 views
1

我有一个需要包含类的jython脚本(在本例中为JUnit)。我在“some/path/junit.jar”中找到了junit jar。我的脚本是:在jython中导入的类

from junit.textui import TestRunner 

TestRunner.Main(["name of some class here"]) 

我跑这样的:

java -cp "some/path/junit.jar" -jar jython.jar script.py 

但抱怨说:

from junit.textui import TestRunner 
ImportError: No module named junit 

我怎样才能使它看到/导入正确的类?

+1

Jython链接为那些从来没有听说过这样的人:http://en.wikipedia.org/wiki/Jython和http://www.jython.org/ – 2009-09-16 11:43:39

回答

2

当您使用-jar选项时,java会忽略类路径。只需直接运行的Jython类这样的,

java -cp "some/path/junit.jar:some/other/path/jython.jar" org.python.util.jython script.py 

你必须热爱自己的命名约定(全小写的类名)。我认为类名是Jython,并且我花了几次尝试来解决这个问题。

2

作为一个 - 也许更简单 - 替代ZZ编码器的回答,您还可以使用-J-CP参数对Jython的启动脚本:

jython -J-cp "some/path/junit.jar" script.py 

(我会追加以此为前者评论答案,但我的声望不允许它。)