为独立jython指定classpath

时间:2012-04-24 19:10:10

标签: mysql jython

我试图在服务器上通过jython运行python脚本,我将无法安装任何东西。

我可以跑

java -jar jython.jar

并且工作正常。我无法使用mm.mysql-2.0.14驱动程序,因为它无法找到jar。我将类路径设置为包含它,就像我在具有标准(即非独立)jython安装的测试系统上所做的那样。它仍然说它找不到罐子。

我尝试过这样的事情:

export CLASSPATH=/tmp/mm.mysql-2.0.14-bin.jar:/tmp/zxJDBC.jar; java -jar jython.jar

java -cp /tmp/mm.mysql-2.0.14-bin.jar  -jar jython.jar
没有骰子。

仍然是错误:zxJDBC.DatabaseError:找不到驱动程序[org.gjt.mm.mysql.Driver]

2 个答案:

答案 0 :(得分:4)

在我的Windows环境中,我能够运行:

java -cp c:\jars\ojdbc6.jar;c:\jython2.5.2\jython.jar org.python.util.jython schema_ora.py 

其中schema_ora.py是我想要运行的脚本,它使用Oracle JDBC驱动程序。

我也在Linux上尝试过:

[mn@test-db mn]# export CLASSPATH=/usr/local/jars/ojdbc6.jar; /usr/local/jython2.5.2/bin/jython -J-Xmx4048m schema_ora.py jdbc:oracle:thin:@192.168.19.128:1521:testdb usr passwd

因此可以以这种方式运行脚本。

至于你的问题,也许你没有权利看到MySQL JDBC驱动程序? 我假设您使用Linux,因此您可以检查是否可以看到该文件:

file /tmp/mm.mysql-2.0.14-bin.jar

我在Linux机器上使用Oracle驱动程序尝试了它:

[mn@test-db mn]# file /usr/local/jars/ojdbc6.jar
/usr/local/jars/ojdbc6.jar: Zip archive data, at least v2.0 to extract

答案 1 :(得分:0)

来自Java Documentation ...

  

-jar

     

使用此选项时, JAR文件是所有用户类的来源,其他用户类路径设置将被忽略。

因此,在使用-jar时无法向类路径添加任何内容。您必须重新打包jython.jar以包含所需的类,或者最好使用Michał Niklas'解决方案将jython.jar添加到类路径(使用-cp或CLASSPATH)并运行组织。 python.util.jython类直接。