Android

java.lang.ClassNotFoundException: org.postgresql.Driver, Android

java.lang.ClassNotFoundException: org.postgresql.Driver, Android

Я запускаю Eclipse в Windows.

Следуя этому руководству, я скачал JDBC4, добавил его в свой путь сборки с помощью Project>Properties> add External JAR, поискал файл, он сработал (.classpath файл показывает правильный путь к библиотеке).

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

    import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

....

public void open ()
{
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
e.printStackTrace();
}
}

Я думаю, это было бы так просто, но я сталкиваюсь с этой большой длинной трассировкой стека, начинающейся с

    java.lang.ClassNotFoundException: org.postgresql.Driver

(При необходимости могу предоставить больше)

Я пробовал include org.postgresql.*; но это тоже не помогло. Я также пробовал JDBC3, но и там безуспешно.

Я посмотрел на драйвер JDBC PostgreSQL для Android, который дал расплывчатый ответ, в котором говорилось, что мне было бы лучше просто использовать HTTP + JSON. Который я никогда не использовал.

Я совершенно новичок в Android, postgresql, веб-разработке, поэтому был бы признателен за простой ответ.

Переведено автоматически
Ответ 1

Вам необходимо добавить драйвер PostgreSQL JDBC в свой проект, как указано в search.maven.org.

Gradle:

implementation 'org.postgresql:postgresql:42.2.10'

Maven:

<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.10</version>
</dependency>

Вы также можете загрузить JAR и импортировать в свой проект вручную.

ПРИМЕЧАНИЕ: Компиляция, используемая в этом ответе, устарела. Заменить реализацией согласно 3.

Ответ 2

Вы должны поместить пакет jar в папку lib (WebContent-WEB-INF-lib) и щелкнуть правой кнопкой мыши на пакете jar-путь сборки-добавить в путь сборки

Ответ 3

It's a CLASSPATH issue; the PostgreSQL JDBC driver isn't available when the class loader tries to load it. You need to add it to your CLASSPATH correctly.

If it works in Eclipse, it's because adding a JAR to the build path is adding it to the CLASSPATH. You have to understand how CLASSPATH works without the Eclipse training wheels to help you.

Ответ 4

Downloading and adding the JDBC JAR file to the built path of the tool you are using may be a temporary solution as none of the above solutions worked out in my case.

java android