Thread: jdbc problem
Hi,
I hav postgresql 15 installed in my windows computer.
I have maven java project, wich works temporarly in Eclipse, but mvn install did'nt work.
Now it works, but I have got error -
Exception in thread "main" java.lang.NoSuchMethodError: 'org.postgresql.core.Encoding org.postgresql.core.BaseConnection.getEncoding()'
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1889)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:438)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:2406)
at backendproject.BackendMain.main(BackendMain.java:64)
backendproject.BackendMain.main(BackendMain.java:64) line is following -
Timestamp oldest_timestamp = resultSet.getTimestamp("oldest_timestamp");
Query from Java is following -
String query = "SELECT timestamp AS oldest_timestamp FROM mushrooms";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();
And pom.xml contains -
<dependencies>
<dependency>
<groupId>org.postgis</groupId>
<artifactId>postgis-jdbc</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.0</version>
</dependency>
and mvn install gives -
[INFO] --- dependency:3.6.0:copy-dependencies (copy-dependencies) @ backendproject --- [INFO] Copying postgis-jdbc-1.3.3.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-1.3.3.jar [INFO] Copying postgis-stubs-1.3.3.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-stubs-1.3.3.jar [INFO] Copying postgresql-8.3-603.jdbc4.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-8.3-603.jdbc4.jar [INFO] Copying postgresql-42.2.0.jar to C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.2.0.jar
What is reason of this error and how to resolv it ?
Regards
Raivo
Am 24.09.23 um 19:33 schrieb Raivo Rebane: > Hi, > > I hav postgresql 15 installed in my windows computer. > > I have maven java project, wich works temporarly in Eclipse, but mvn > install did'nt work. > > Now it works, but I have got error - > > Exception in thread "main" java.lang.NoSuchMethodError: > 'org.postgresql.core.Encoding > org.postgresql.core.BaseConnection.getEncoding()' > at > org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1889) > at > org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:438) > at > org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:2406) > at backendproject.BackendMain.main(BackendMain.java:64) > > backendproject.BackendMain.main(BackendMain.java:64) line is following - > > Timestamp oldest_timestamp = resultSet.getTimestamp("oldest_timestamp"); > > Query from Java is following - > > String query = "SELECT timestamp AS oldest_timestamp FROM mushrooms"; > > PreparedStatement statement = connection.prepareStatement(query); > > ResultSet resultSet = statement.executeQuery(); > > And pom.xml contains - > > <dependencies> > > <dependency> > > <groupId>org.postgis</groupId> > > <artifactId>postgis-jdbc</artifactId> > > <version>1.3.3</version> > > </dependency> > > <dependency> > > <groupId>org.postgresql</groupId> > > <artifactId>postgresql</artifactId> > > <version>42.2.0</version> > > </dependency> > > and mvn install gives - > > [INFO] --- dependency:3.6.0:copy-dependencies (copy-dependencies) @ > backendproject --- [INFO] Copying postgis-jdbc-1.3.3.jar to > C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-jdbc-1.3.3.jar > [INFO] Copying postgis-stubs-1.3.3.jar to > C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgis-stubs-1.3.3.jar > [INFO] Copying postgresql-8.3-603.jdbc4.jar to > C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-8.3-603.jdbc4.jar > [INFO] Copying postgresql-42.2.0.jar to > C:\Users\Raivo\eclipse-workspace\backendproject\target\lib\postgresql-42.2.0.jar > > What is reason of this error and how to resolv it ? > > Regards > > Raivo > i would try to reorder the maven dependencies, so postgresql part is loaded first. or like other people with same error, try exclude postgis-stubs from postgis-jdbc: |<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>|
On Sun, 2023-09-24 at 20:33 +0300, Raivo Rebane wrote: > I hav postgresql 15 installed in my windows computer. > > I have maven java project, wich works temporarly in Eclipse, but mvn install did'nt work. > > Now it works, but I have got error - > > Exception in thread "main" java.lang.NoSuchMethodError: 'org.postgresql.core.Encoding org.postgresql.core.BaseConnection.getEncoding()' > at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1889) > at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:438) > at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp(AbstractJdbc2ResultSet.java:2406) > at backendproject.BackendMain.main(BackendMain.java:64) > > backendproject.BackendMain.main(BackendMain.java:64) line is following - > > Timestamp oldest_timestamp = resultSet.getTimestamp("oldest_timestamp"); > > Query from Java is following - > > String query = "SELECT timestamp AS oldest_timestamp FROM mushrooms"; > PreparedStatement statement = connection.prepareStatement(query); > ResultSet resultSet = statement.executeQuery(); You should ask the JDBC driver mailing list. As a first measure, try upgrading to 42.6.0 and see if the error persists. Yours, Laurenz Albe