当我调用Jython*而没有*将它们添加到$ CLASSPATH时,如何将jar添加到类路径?

Han*_*Gay 37 jython jar classpath

我想做类似的事情jython -cp FOO:BAR:BAZ argle.py.

如果我添加FOO,BARBAZ,$CLASSPATH这是有效的.我尝试sys.path在运行时添加它们,但这似乎不适用于jar.如果我在运行时添加扩展jar的路径,它确实有效sys.path.是否有一个简单的替代方案来爆炸jar文件?$CLASSPATH为每个运行此脚本的用户进行扩充是不可接受的替代方案.

谢谢.

awi*_*row 48

您可以使用该-D选项设置python.path:

jython -Dpython.path=FOO:BAR:BAZ argyle.py
Run Code Online (Sandbox Code Playgroud)

  • 注意:在Windows上用冒号';'替换冒号':'分隔符 分隔器.jython -Dpython.path = FOO; BAR; BAZ argyle.py (8认同)

小智 21

jython命令支持将参数传递给java命令...所以:

jython -J-cp JAR1:JAR2
Run Code Online (Sandbox Code Playgroud)

您可以通过添加--print开关来验证生成的命令:

jython -J-cp JAR1:JAR2 --print
Run Code Online (Sandbox Code Playgroud)

以上将打印出实际的java命令而不是执行它.


hd1*_*hd1 7

java -cp JAR1:JAR2:jython.jar org.python.util.jython pythonScript.py在 Linux 和 Macintosh 上都可以在这里工作。在 Windows 上,将类路径中的冒号替换为分号,您应该会很顺利。