我是Java的新手,但目前爲止我找到了很好的方法。我的應用程序現在需要到MySQL的連接,從而爲每噸教程,我做這樣的事情:Portably找到一個Java類
Class.forName ("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection (url, userName, password);
這是所有罰款,除外,我需要在我的CLASSPATH如果MySQL JDBC驅動程序的位置Java永遠找不到它。我用Gentoo開發的機器在/usr/share/jdbc-mysql/lib/jdbc-mysql.jar中,但是我的Debian服務器將運行該應用程序,它在/usr/share/java/mysql.jar中。因此,在各種Linux發行版中,位置可能會有所不同。
我可以在Eclipse中設置classpath中,不過那是無意義的,因爲部署的機器上,我不會在Eclipse中運行它。我可以編寫一個封裝外殼腳本,它可以找出驅動程序的位置,並設置CLASSPATH,但這看起來很痛苦。
什麼是我的應用程序查找驅動程序的正確方法,無論身在何處配送店呢?
在其他編程語言中,我習慣於這是自動的。在perl中,我寫「使用Package :: Name」,它只是發現它,不管分發存儲在哪裏。在C中,動態庫自動在/ usr/lib /中找到。
任何幫助表示感謝,謝謝!
恩,是的,那是可能的。我不知道這是許多其他應用程序這樣做的方式。但是這樣mysql驅動程序不會被系統更新,除非我手動更新和重新部署。但這很可能不是問題。 – jlh