2012-04-24 80 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類直。