2012-04-24 92 views
3

我想通过jython在服务器上运行python脚本,我将无法安装任何东西。指定独立jython的类路径

我可以运行

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]没有找到

回答

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上:

[[email protected] 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 

我与Oracle驱动程序试图在我的Linux机器:

[[email protected] mn]# file /usr/local/jars/ojdbc6.jar 
/usr/local/jars/ojdbc6.jar: Zip archive data, at least v2.0 to extract 
0

Java Documentation ...

-jar

When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.

所以它不可能用任何东西时-jar添加到类路径。您必须重新包装jython.jar以包含所需的类,或者最好使用Michał Niklas'解决方案,将jython.jar添加到类路径(使用-cp或CLASSPATH)并运行org.python.util.jython类直。