我想做类似的事情jython -cp FOO:BAR:BAZ argle.py.
如果我添加FOO,BAR和BAZ,$CLASSPATH这是有效的.我尝试sys.path在运行时添加它们,但这似乎不适用于jar.如果我在运行时添加扩展jar的路径,它确实有效sys.path.是否有一个简单的替代方案来爆炸jar文件?$CLASSPATH为每个运行此脚本的用户进行扩充是不可接受的替代方案.
谢谢.
如何在运行时将JDBC驱动程序添加到Jython?使用CLASSPATH工作,但使用sys.path不能与zxJDBC一起使用,即使该类导入正常并且可以从Jython解释器提示符进行操作.
为什么这样做:
$ CLASSPATH=/tmp/jtds\-1.2.5.jar ./jython
*sys-package-mgr*: processing new jar, '/private/tmp/jtds-1.2.5.jar'
Jython 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
[Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_20
Type "help", "copyright", "credits" or "license" for more information.
>>> from java.lang import Class
>>> Class.forName('net.sourceforge.jtds.jdbc.Driver')
<type 'net.sourceforge.jtds.jdbc.Driver'>
Run Code Online (Sandbox Code Playgroud)
但这不是吗?
$ ./jython
Jython 2.5.1 (Release_2_5_1:6813, Sep 26 2009, 13:47:54)
[Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_20
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path.extend(['/tmp/jtds-1.2.5.jar'])
>>> from java.lang …Run Code Online (Sandbox Code Playgroud)