java jdbc: sqlite нет подходящего драйвера. вопросы classpath я думаю - PullRequest
4 голосов
/ 06 мая 2011

Я использую Ubuntu. Я установил sqlite3 и java через менеджер пакетов synaptic и загрузил jar sqlitejdbc-v056.

Мой sqlite работает нормально. Я написал некоторый код Java, который компилируется, но не запустится. Я использовал ant для компиляции, и это работало нормально, как только я поместил jar в то же место, что и build.xml.

Когда я пытаюсь запустить программу (с помощью java-программы), она говорит: java.sql.SQLException: не найден подходящий драйвер для jdbc: sqlite: test.db

вот некоторые из кодов обидчика:

 Class.forName("org.sqlite.JDBC");
 Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");

Из того, что я читал до сих пор, это, вероятно, проблема с моим classpath, хотя я не совсем уверен, как это исправить. вот что я попробовал:

  1. поместите .jar в тот же каталог, что и основной материал моей скомпилированной программы
  2. поместите .jar в тот же каталог, что и мой скомпилированный класс, использующий материал sql
  3. попытался использовать опцию -classpath при вызове java из терминала. Я попробовал это сначала с относительной адресацией, затем с абсолютным путем
  4. 3, но с символами подстановки, т.е. ... / *. Jar
  5. sudo gedit / etc / environment. не было CLASSPATH, поэтому я вставил это в: CLASSPATH = " .jar: /home/sheena/Java/lib/.jar:.:. *. jar: / home / sheena / Java / lib / "

Я чувствую, что у меня нет выбора.

В отдельном, но связанном примечании я также изо всех сил пытался заставить javac увидеть jar-файл во время компиляции, я также не мог правильно разобраться с вещами муравья о classpath. Эта часть не так актуальна, как описанная выше, но вот немного build.xml:

<path id="files-classpath">  
    <fileset dir="lib/" >  
        <include name="*.jar"/>  
    </fileset>  
</path> 

...


это лишь некоторые из вещей, которые я пробовал.

Любые идеи будут высоко оценены, в интернете на удивление мало информации по этой теме из того, что я вижу ...

1 Ответ

0 голосов
/ 10 мая 2011

попробуйте запустить его так:

java -classpath ".:sqlite-jdbc-v056.jar" ProgramName

".:" Очень важно (я не был уверен, пробовал ли вы это или нет из вашего описания).Также я только догадался, как называется ваш .jar, но, очевидно, измените его, чтобы оно отражало действительное имя.

...