arangodb/spring-data

Version 4.0.0 (latest release) is not compatible with driver versions >7.1.0

oliverlockwood opened this issue · 1 comments

As per e.g. https://mvnrepository.com/artifact/com.arangodb/arangodb-java-driver, at the time of writing, the latest Java driver version is 7.4.0.

Version 4.0.0, the latest release of this repo's artifact com.arangodb:arangodb-spring-data is compatible with the driver version 7.1.0 (and indeed, it includes that as a transitive dependency). However, if you try and up-level the driver version to any of 7.2.0, 7.3.0, or 7.4.0 (which - according to semantic version convention - should not include any breaking changes!) then an application making use of arangodb-spring-data, configured per the guidelines at https://docs.arangodb.com/3.10/develop/integrations/spring-data-arangodb/, will fail to start up, with the following error:

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    com.arangodb.springframework.config.ArangoConfiguration.arangoTemplate(ArangoConfiguration.java:63)

The following method did not exist:

    'com.arangodb.internal.InternalArangoDBBuilder com.arangodb.ArangoDB$Builder.serde(com.arangodb.serde.ArangoSerde)'

The calling method's class, com.arangodb.springframework.config.ArangoConfiguration, was loaded from the following location:

    jar:file:/Users/oliverlockwood/.m2/repository/com/arangodb/arangodb-spring-data/4.0.0/arangodb-spring-data-4.0.0.jar!/com/arangodb/springframework/config/ArangoConfiguration.class

The called method's class, com.arangodb.ArangoDB$Builder, is available from the following locations:

    jar:file:/Users/oliverlockwood/.m2/repository/com/arangodb/core/7.2.0/core-7.2.0.jar!/com/arangodb/ArangoDB$Builder.class

The called method's class hierarchy was loaded from the following locations:

    com.arangodb.ArangoDB.Builder: file:/Users/oliverlockwood/.m2/repository/com/arangodb/core/7.2.0/core-7.2.0.jar


Action:

Correct the classpath of your application so that it contains compatible versions of the classes com.arangodb.springframework.config.ArangoConfiguration and com.arangodb.ArangoDB$Builder

Context where we hit this: we have a software estate whereby we manage our third-party dependencies centrally in a BOM. Some of our microservices use arangodb-spring-data, others just use the arangodb-java-driver directly. At the moment, this issue is not too critical, because we can just keep arangodb-java-driver pinned at 7.1.0, but we generally prefer to use the latest available versions across the board.

Perhaps it would be possible for you to release a newer version of arangodb-spring-data which is updated to be compatible with the newer driver versions, at some point soon?

Many thanks.