我正在Windows上运行Eclipse。
按照这个教程的指示,我下载了JDBC4,并使用Project>Properties>add External JAR将其添加到我的构建路径中。我浏览找到文件后,它成功地工作了(.classpath
文件显示了正确的库路径)。
该软件包出现在我的“Referenced Libraries”文件夹中,因此我继续进行教程。
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,但那里也没有运气。
我查看了在Android中使用Driver JDBC PostgreSQL,但是它只提供了一个模糊的答案,说我最好只使用HTTP + JSON。而我从未使用过它。
我对Android、postgresql和Web开发都是全新的,所以希望得到一个简单的答案。
libs
文件夹里而不是lib
文件夹里?自从ADT r17之后,从外部位置引用的库将不会被打包到.apk中。结果是你的项目可以编译通过,但在运行时,由于缺少库,你会遇到NoClassDefFoundError
错误。顺便说一下,关于这个问题在SO上有很多类似的问答,例如这个。 - MH.