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

后端 未结 7 1880
借酒劲吻你
借酒劲吻你 2020-11-28 14:23

I am running Eclipse on Windows.

Following this tutorial I downloaded JDBC4, added it to my build path using Project>Properties>add External JAR, browsed for the fil

相关标签:
7条回答
  • 2020-11-28 14:49

    I tried a million things for gradel, and I just needed to add this line to the build.gradel file.

    dependencies {
        compile group: 'org.postgresql', name: 'postgresql', version: '42.2.1'
    }
    
    0 讨论(0)
  • 2020-11-28 14:50

    You should put the jar package into the lib folder(WebContent-WEB-INF-lib),and right click on the jar package-build path-add to build path

    0 讨论(0)
  • 2020-11-28 14:51

    I faced the same problem; but the mistake I did was the postgre dependency I added only in plugins section; After adding the postgre dependency (the following) into the project dependencies section it worked.

    <dependency>
    <groupId>postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>9.1-901-1.jdbc4</version>    
    </dependency>
    
    0 讨论(0)
  • 2020-11-28 14:51

    Assuming your dependencies are correctly configured (see libs directory in Android SDK version 17 or above, as pointed out in a comment), you should be able to get the 9.2 driver to work by registering it explicitly with the driver manager.

    Instead of:

    Class.forName("org.postgresql.Driver");
    

    Use:

    DriverManager.register(new org.postgresql.Driver());
    

    (I've also tried with the 9.3-1100-jdbc41 jar, but this wouldn't work.)

    Please note that, as explained by Craig Ringer in an answer to a duplicate question, using JDBC from Android is rarely a good idea, because JDBC connections aren't well suited to network usage patterns generally used by Android devices.

    0 讨论(0)
  • 2020-11-28 14:52

    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.

    0 讨论(0)
  • 2020-11-28 14:55

    You need to add the PostgreSQL JDBC Driver in your project as mentioned in 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>
    

    You can also download the JAR and import to your project manually.

    NOTE: Compile as used in this answer is deprecated. Replace with implementation as per 3.

    0 讨论(0)
提交回复
热议问题