我有一个需要包含类的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
如何让它看到/导入正确的类?
答案 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
(我会将此作为对前一个答案的评论,但我的声誉还不允许。)