2009-09-16 120 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 

(我會追加以此爲前者評論答案,但我的聲望不允許它。)