PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verursacht durch:java.lang.NoSuchMethodError:org.postgresql.core.BaseConnection.getEncoding()Lorg/postgresql/core/Encoding;

Sie haben den Kontext, in dem Sie die Ausnahme erhalten, nicht vollständig erklärt, aber ich werde einige Annahmen treffen.

Der Fehler tritt auf, wenn Sie einen Postgres 8-Treiber gegen eine Postgres 9-DB verwenden. Ein häufiger Fall ist, dass es als transitive Abhängigkeit über das von Ihnen verwendete Build-System hereingezogen wird. Um noch mehr Annahmen zu treffen, ist der sehr häufige Fall, dass ein älterer Treiber enthalten ist, wenn postgis dep hinzugefügt wird, z. über maven. Die Lösung besteht darin, die Abhängikeit auszuschließen, z. wie

<dependency>
   <groupId>org.postgis</groupId>
   <artifactId>postgis-jdbc</artifactId>
   <version>1.3.3</version>
   <scope>compile</scope>
   <exclusions>
      <exclusion>
         <groupId>org.postgis</groupId>
         <artifactId>postgis-stubs</artifactId>
      </exclusion>
   </exclusions>
</dependency>

Wie auch immer, es könnte eine andere Abhängigkeit oder ein anderes Build-System sein, aber der Kern der Antwort sollte zutreffen, finden Sie heraus, was die fehlerhafte Dep zu Ihrem Klassenpfad bringt, und schließen Sie sie aus