在jython中导入类

时间:2009-09-16 11:16:29

标签: java jython

我有一个需要包含类的jython脚本(在本例中来自JUnit)。我在“some / path / junit.jar”中有junit jar。我的剧本是:

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

如何让它看到/导入正确的类?

2 个答案:

答案 0 :(得分:2)

使用-jar选项时,java会忽略classpath。就像这样直接运行jython类,

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

你必须喜欢他们的命名约定(所有小写的类名)。我假设类名是Jython,我花了几次尝试来解决这个问题。

答案 1 :(得分:2)

作为一个 - 也许更简单 - 替代ZZ Coder的答案,你也可以在Jython的启动脚本中使用-J-cp参数:

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

(我会将此作为对前一个答案的评论,但我的声誉还不允许。)