Я новичок в Java, но пока неплохо разбираюсь. Моему приложению теперь требуется соединение с MySQL, поэтому, учитывая множество учебников, я делаю что-то вроде этого:
Class.forName ("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection (url, userName, password);
Все в порядке, за исключением того, что мне нужно иметь местоположение драйвера JDBC MySQL в моем CLASSPATH, если Java когда-либо его найдет. Моя машина для разработки с Gentoo находится в /usr/share/jdbc-mysql/lib/jdbc-mysql.jar, но мой сервер Debian, который будет запускать приложение, содержит его в /usr/share/java/mysql.jar. Так что расположение может отличаться в разных дистрибутивах Linux.
Я могу установить путь к классам в Eclipse, но это бессмысленно, поскольку на компьютере для развертывания я не буду запускать его из Eclipse. Я мог бы написать скрипт оболочки, который каким-то образом выясняет, где находится драйвер, и устанавливает CLASSPATH, но это кажется болезненным.
Какой правильный способ для моего приложения найти драйвер, независимо от того, где его хранит дистрибутив?
В других языках программирования я привык, что это происходит автоматически. В perl я пишу «use Package :: Name», и он просто находит его, независимо от того, где его хранит дистрибутив. В C динамические библиотеки автоматически находятся в /usr/lib/.
Любая помощь приветствуется, спасибо!