Unable to run Open Graph Data Science 2.5.5 procedures in Eclipse Maven project

Hi, all,
I want to develop some extended algorithms based on the Open Graph Data Science libraries 2.5.5, first of all I want to set up a Maven project references the libraries in Eclipse, and import and run some algorithms and procedures of it to verify the settings are O.K., the junit tests of algorithms, spanningtree and kspanningtree for example, are O.K., but the junit tests of precedures, all failed at the point of "@BeforeEach", seems to be failed to load a test instance of Neo4j Database. I can build the library in a command line window with gradle, and run the tests successfully, with Neo4j 5.10.0 community:

gradle :open-packaging:shadowCopy -Pneo4jVersion=5.10.0
gradle :algo:test --tests org.neo4j.gds.kspanningtree.KSpanningTreeTest -Pneo4jVersion=5.10.0
gradle :proc-path-finding:test --tests org.neo4j.gds.paths.kspanningtree.KSpanningTreeWriteProcTest -Pneo4jVersion=5.10.0

Here's the pom.xml of my maven project:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>cn.jean.neo4j</groupId>
	<artifactId>gds-extend</artifactId>
	<version>1.0.0-SNAPSHOT</version>

	<packaging>jar</packaging>
	<name>Jean's Neo4j GDS Extend</name>
	<description>Extended algorithm for Noe4j Graph Data Science</description>

	<properties>
		<java.version>17</java.version>
		<maven.compiler.release>${java.version}</maven.compiler.release>

		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<neo4j.version>5.10.0</neo4j.version>
		<neo4j-java-driver.version>5.10.0</neo4j-java-driver.version>
		<junit-jupiter.version>5.10.0</junit-jupiter.version>
		<maven-shade-plugin.version>3.5.1</maven-shade-plugin.version>
		<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
		<assertj.version>3.24.2</assertj.version>
		<maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
		<maven.version>3.9.4</maven.version>
		<maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version>
	</properties>

	<dependencies>

		<!-- Contains basic Neo4j support -->
		<dependency>
			<!-- This gives us the Procedure API our runtime code uses.
           We have a `provided` scope on it, because when this is
           deployed in a Neo4j Instance, the API will be provided
           by Neo4j. If you add non-Neo4j dependencies to this
           project, their scope should normally be `compile` -->
			<groupId>org.neo4j</groupId>
			<artifactId>neo4j</artifactId>
			<version>${neo4j.version}</version>
			<scope>provided</scope>
		</dependency>


		<!-- Open Graph Data Science Dependencies -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>core</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<!-- Contains the basic algorithm infrastructure -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>algo-common</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>algo</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<!-- Contains the basic procedure infrastructure -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-common</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-pregel</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-embeddings</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-centrality</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-path-finding</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<!-- Contains Other basic Open Graph Data Science infrastructure -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>progress-tracking</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>memory-usage</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>graph-schema-api</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>config-api</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>annotations</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>executor</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>core-write</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>open-write-services</artifactId>
			<version>2.5.5</version>
			<scope>provided</scope>
		</dependency>

		<!-- Ccontains annotation support -->
		<dependency>
			<groupId>org.immutables</groupId>
			<artifactId>value</artifactId>
			<version>2.8.8</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.realityforge.org.jetbrains.annotations</groupId>
			<artifactId>org.jetbrains.annotations</artifactId>
			<version>1.7.0</version>
		</dependency>


		<!-- Test Dependencies -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>test-utils</artifactId>
			<version>2.5.5</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.community</groupId>
			<artifactId>it-test-support</artifactId>
			<version>5.10.0</version>
			<scope>test</scope>
		</dependency>

		
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>${maven-enforcer-plugin.version}</version>
				<executions>
					<execution>
						<id>enforce</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<phase>validate</phase>
						<configuration>
							<rules>
								<requireJavaVersion>
									<version>${java.version}</version>
								</requireJavaVersion>
								<requireMavenVersion>
									<version>${maven.version}</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
			</plugin>
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven-surefire-plugin.version}</version>
			</plugin>
			<plugin>
				<!-- This generates a jar-file with our procedure code,
             plus any dependencies marked as `compile` scope.
             This should then be deployed in the `plugins` directory
             of each Neo4j instance in your deployment.
             After a restart, the procedure is available for calling. -->
				<artifactId>maven-shade-plugin</artifactId>
				<version>${maven-shade-plugin.version}</version>
				<configuration>
					<createDependencyReducedPom>false</createDependencyReducedPom>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

And the project snapshot with algorithms and precedures imported:

And the exception throwed while running junit test of a procedure:

java.lang.RuntimeException: The method 'configuration' threw an exception.
	at org.neo4j.test.extension.DbmsSupportController.maybeInvokeCallback(DbmsSupportController.java:257)
	at org.neo4j.test.extension.DbmsSupportController.buildDbms(DbmsSupportController.java:157)
	at org.neo4j.test.extension.DbmsSupportController.startDbms(DbmsSupportController.java:93)
	at org.neo4j.test.extension.DbmsSupportController.startDbms(DbmsSupportController.java:82)
	at org.neo4j.test.extension.DbmsSupportExtension.beforeEach(DbmsSupportExtension.java:47)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachCallbacks$2(TestMethodTestDescriptor.java:166)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachCallbacks(TestMethodTestDescriptor.java:165)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:132)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204)
	at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:142)
	at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:110)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:110)
	at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:44)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
	at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
	at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
	at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
	at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95)
	at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91)
	at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60)
	at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
	Suppressed: java.lang.NullPointerException: Cannot invoke "org.neo4j.dbms.api.DatabaseManagementService.shutdown()" because "databaseManagementService" is null
		at org.neo4j.test.extension.DbmsSupportController.shutdown(DbmsSupportController.java:178)
		at org.neo4j.test.extension.DbmsSupportExtension.afterEach(DbmsSupportExtension.java:54)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachCallbacks$12(TestMethodTestDescriptor.java:260)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:276)
		at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$14(TestMethodTestDescriptor.java:276)
		at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:275)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachCallbacks(TestMethodTestDescriptor.java:259)
		at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:144)
		... 99 more
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.neo4j.test.extension.DbmsSupportController.maybeInvokeCallback(DbmsSupportController.java:253)
	... 109 more
Caused by: java.lang.NoSuchMethodError: 'org.neo4j.dbms.api.DatabaseManagementServiceBuilder org.neo4j.test.TestDatabaseManagementServiceBuilder.setConfigRaw(java.util.Map)'
	at org.neo4j.gds.BaseTest.configuration(BaseTest.java:91)
	... 114 more


It seems that the test-utils 2.5.5 failed to load a Neo4j 5.10.0 test iinstance in junit test, any idea?
Thanks in advance.

When run the test in a command line window with Maven directly:

D:\eclipse2022\workspace\Open-GDS-Extend-2.5.5>mvn test -Dtest=org.neo4j.gds.paths.spanningtree.SpanningTreeStatsProcTest#testYields
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< cn.jean.neo4j:gds-extend >----------------------
[INFO] Building Jean's Neo4j GDS Extend 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- enforcer:3.4.1:enforce (enforce) @ gds-extend ---
[INFO] Rule 0: org.apache.maven.enforcer.rules.version.RequireJavaVersion passed
[INFO] Rule 1: org.apache.maven.enforcer.rules.version.RequireMavenVersion passed
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ gds-extend ---
[INFO] skip non existing resourceDirectory D:\eclipse2022\workspace\Open-GDS-Extend-2.5.5\src\main\resources
[INFO]
[INFO] --- compiler:3.11.0:compile (default-compile) @ gds-extend ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ gds-extend ---
[INFO] Copying 1 resource from src\test\resources to target\test-classes
[INFO]
[INFO] --- compiler:3.11.0:testCompile (default-testCompile) @ gds-extend ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- surefire:3.1.2:test (default-test) @ gds-extend ---
[INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.neo4j.gds.paths.spanningtree.SpanningTreeStatsProcTest
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.422 s <<< FAILURE! -- in org.neo4j.gds.paths.spanningtree.SpanningTreeStatsProcTest
[ERROR] org.neo4j.gds.paths.spanningtree.SpanningTreeStatsProcTest.testYields(String)[1] -- Time elapsed: 0.365 s <<< ERROR!
java.lang.RuntimeException: The method 'configuration' threw an exception.
        at org.neo4j.test.extension.DbmsSupportController.maybeInvokeCallback(DbmsSupportController.java:257)
        at org.neo4j.test.extension.DbmsSupportController.buildDbms(DbmsSupportController.java:157)
        at org.neo4j.test.extension.DbmsSupportController.startDbms(DbmsSupportController.java:93)
        at org.neo4j.test.extension.DbmsSupportController.startDbms(DbmsSupportController.java:82)
        at org.neo4j.test.extension.DbmsSupportExtension.beforeEach(DbmsSupportExtension.java:47)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachCallbacks$2(TestMethodTestDescriptor.java:166)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachCallbacks(TestMethodTestDescriptor.java:165)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:132)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204)
        at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:142)
        at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:110)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:110)
        at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:44)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
        at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
        at org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:56)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:184)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:148)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:122)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
        at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
        Suppressed: java.lang.NullPointerException: Cannot invoke "org.neo4j.dbms.api.DatabaseManagementService.shutdown()" because "databaseManagementService" is null
                at org.neo4j.test.extension.DbmsSupportController.shutdown(DbmsSupportController.java:178)
                at org.neo4j.test.extension.DbmsSupportExtension.afterEach(DbmsSupportExtension.java:54)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachCallbacks$12(TestMethodTestDescriptor.java:260)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:276)
                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$14(TestMethodTestDescriptor.java:276)
                at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:275)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachCallbacks(TestMethodTestDescriptor.java:259)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:144)
                ... 100 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.neo4j.test.extension.DbmsSupportController.maybeInvokeCallback(DbmsSupportController.java:253)
        ... 110 more
Caused by: java.lang.NoSuchMethodError: 'org.neo4j.dbms.api.DatabaseManagementServiceBuilder org.neo4j.test.TestDatabaseManagementServiceBuilder.setConfigRaw(java.util.Map)'
        at org.neo4j.gds.BaseTest.configuration(BaseTest.java:91)
        ... 115 more

[ERROR] org.neo4j.gds.paths.spanningtree.SpanningTreeStatsProcTest.testYields(String)[2] -- Time elapsed: 0.004 s <<< ERROR!
java.lang.RuntimeException: The method 'configuration' threw an exception.
        at org.neo4j.test.extension.DbmsSupportController.maybeInvokeCallback(DbmsSupportController.java:257)
        at org.neo4j.test.extension.DbmsSupportController.buildDbms(DbmsSupportController.java:157)
        at org.neo4j.test.extension.DbmsSupportController.startDbms(DbmsSupportController.java:93)
        at org.neo4j.test.extension.DbmsSupportController.startDbms(DbmsSupportController.java:82)
        at org.neo4j.test.extension.DbmsSupportExtension.beforeEach(DbmsSupportExtension.java:47)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeEachCallbacks$2(TestMethodTestDescriptor.java:166)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeBeforeMethodsOrCallbacksUntilExceptionOccurs$6(TestMethodTestDescriptor.java:202)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(TestMethodTestDescriptor.java:202)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeBeforeEachCallbacks(TestMethodTestDescriptor.java:165)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:132)
        at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204)
        at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:142)
        at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:110)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
        at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:110)
        at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:44)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
        at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
        at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
        at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
        at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
        at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
        at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
        at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
        at org.apache.maven.surefire.junitplatform.LazyLauncher.execute(LazyLauncher.java:56)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:184)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:148)
        at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:122)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
        at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
        Suppressed: java.lang.NullPointerException: Cannot invoke "org.neo4j.dbms.api.DatabaseManagementService.shutdown()" because "databaseManagementService" is null
                at org.neo4j.test.extension.DbmsSupportController.shutdown(DbmsSupportController.java:178)
                at org.neo4j.test.extension.DbmsSupportExtension.afterEach(DbmsSupportExtension.java:54)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAfterEachCallbacks$12(TestMethodTestDescriptor.java:260)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:276)
                at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$14(TestMethodTestDescriptor.java:276)
                at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:275)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachCallbacks(TestMethodTestDescriptor.java:259)
                at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:144)
                ... 100 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at org.neo4j.test.extension.DbmsSupportController.maybeInvokeCallback(DbmsSupportController.java:253)
        ... 110 more
Caused by: java.lang.NoSuchMethodError: 'org.neo4j.dbms.api.DatabaseManagementServiceBuilder org.neo4j.test.TestDatabaseManagementServiceBuilder.setConfigRaw(java.util.Map)'
        at org.neo4j.gds.BaseTest.configuration(BaseTest.java:91)
        ... 115 more

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR]   SpanningTreeStatsProcTest.testYields(String)[1] ? Runtime The method 'configuration' threw an exception.
[ERROR]   SpanningTreeStatsProcTest.testYields(String)[2] ? Runtime The method 'configuration' threw an exception.
[INFO]
[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.676 s
[INFO] Finished at: 2024-01-07T14:57:01+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.1.2:test (default-test) on project gds-extend:
[ERROR]
[ERROR] Please refer to D:\eclipse2022\workspace\Open-GDS-Extend-2.5.5\target\surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

D:\eclipse2022\workspace\Open-GDS-Extend-2.5.5>

GDS test-utils 2.5.5 depends on org.neo4j.community::it-test-support 4.4.28, means that it runs on Neo4j 4.4.28, so I change it to it-test-support 5.10.0, is this the reason?

		<dependency>
			<groupId>org.neo4j.community</groupId>
			<artifactId>it-test-support</artifactId>
			<version>5.10.0</version>
			<scope>test</scope>
		</dependency>

D:\eclipse2022\workspace\Open-GDS-Extend-2.5.5>mvn dependency:tree -Dverbose
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< cn.jean.neo4j:gds-extend >----------------------
[INFO] Building Jean's Neo4j GDS Extend 1.0.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- dependency:3.6.0:tree (default-cli) @ gds-extend ---
[INFO] cn.jean.neo4j:gds-extend:jar:1.0.0-SNAPSHOT
......
[INFO] \- org.neo4j.gds:test-utils:jar:2.5.5:test
[INFO]    +- org.neo4j.gds:core-test-utils:jar:2.5.5:test
[INFO]    |  +- org.junit.jupiter:junit-jupiter:jar:5.10.0:test
[INFO]    |  |  +- org.junit.jupiter:junit-jupiter-api:jar:5.10.0:test
[INFO]    |  |  |  +- (org.opentest4j:opentest4j:jar:1.3.0:test - omitted for duplicate)
[INFO]    |  |  |  +- (org.junit.platform:junit-platform-commons:jar:1.10.0:test - omitted for duplicate)
[INFO]    |  |  |  \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.10.0:test
[INFO]    |  |  |  +- (org.junit.jupiter:junit-jupiter-api:jar:5.10.0:test - omitted for duplicate)
[INFO]    |  |  |  \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.10.0:test
[INFO]    |  |     +- (org.junit.platform:junit-platform-engine:jar:1.10.0:test - omitted for duplicate)
[INFO]    |  |     +- (org.junit.jupiter:junit-jupiter-api:jar:5.10.0:test - omitted for duplicate)
[INFO]    |  |     \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    |  +- org.assertj:assertj-core:jar:3.24.2:test
[INFO]    |  |  \- net.bytebuddy:byte-buddy:jar:1.12.21:test
[INFO]    |  +- org.hamcrest:hamcrest-library:jar:2.2:test
[INFO]    |  |  \- org.hamcrest:hamcrest-core:jar:2.2:test
[INFO]    |  |     \- (org.hamcrest:hamcrest:jar:2.2:test - omitted for duplicate)
[INFO]    |  +- org.jetbrains:annotations:jar:24.0.1:provided
[INFO]    |  +- org.immutables:value-annotations:jar:2.9.3:test
[INFO]    |  \- (org.neo4j.gds:string-formatting:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- net.jqwik:jqwik:jar:1.8.0:test
[INFO]    |  +- org.apiguardian:apiguardian-api:jar:1.1.2:test
[INFO]    |  +- net.jqwik:jqwik-api:jar:1.8.0:test
[INFO]    |  |  +- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    |  |  +- org.opentest4j:opentest4j:jar:1.3.0:test
[INFO]    |  |  \- org.junit.platform:junit-platform-commons:jar:1.10.0:test
[INFO]    |  |     \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    |  +- net.jqwik:jqwik-web:jar:1.8.0:test
[INFO]    |  |  +- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    |  |  +- (net.jqwik:jqwik-api:jar:1.8.0:test - omitted for duplicate)
[INFO]    |  |  \- (org.opentest4j:opentest4j:jar:1.3.0:test - omitted for duplicate)
[INFO]    |  +- net.jqwik:jqwik-time:jar:1.8.0:test
[INFO]    |  |  +- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    |  |  +- (net.jqwik:jqwik-api:jar:1.8.0:test - omitted for duplicate)
[INFO]    |  |  \- (org.opentest4j:opentest4j:jar:1.3.0:test - omitted for duplicate)
[INFO]    |  \- net.jqwik:jqwik-engine:jar:1.8.0:test
[INFO]    |     +- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    |     +- (net.jqwik:jqwik-api:jar:1.8.0:test - omitted for duplicate)
[INFO]    |     +- (org.opentest4j:opentest4j:jar:1.3.0:test - omitted for duplicate)
[INFO]    |     +- (org.junit.platform:junit-platform-commons:jar:1.10.0:test - omitted for duplicate)
[INFO]    |     \- org.junit.platform:junit-platform-engine:jar:1.10.0:test
[INFO]    |        +- (org.opentest4j:opentest4j:jar:1.3.0:test - omitted for duplicate)
[INFO]    |        +- (org.junit.platform:junit-platform-commons:jar:1.10.0:test - omitted for duplicate)
[INFO]    |        \- (org.apiguardian:apiguardian-api:jar:1.1.2:test - omitted for duplicate)
[INFO]    +- org.neo4j.community:it-test-support:jar:4.4.28:test
[INFO]    |  +- org.neo4j:io-test-utils:jar:4.4.28:test
[INFO]    |  |  +- (org.neo4j:neo4j-io:jar:4.4.28:test - omitted for conflict with 5.10.0)
[INFO]    |  |  +- (org.neo4j:neo4j-collections:jar:4.4.28:test - omitted for conflict with 5.10.0)
[INFO]    |  |  +- (org.neo4j:test-utils:jar:4.4.28:test - omitted for duplicate)
[INFO]    |  |  +- commons-codec:commons-codec:jar:1.15:test
[INFO]    |  |  +- (org.junit.jupiter:junit-jupiter:jar:5.7.2:test - omitted for conflict with 5.10.0)
[INFO]    |  |  \- org.mockito:mockito-core:jar:3.12.4:test
[INFO]    |  |     +- (net.bytebuddy:byte-buddy:jar:1.11.13:test - omitted for conflict with 1.12.21)
[INFO]    |  |     +- net.bytebuddy:byte-buddy-agent:jar:1.11.13:test
[INFO]    |  |     \- org.objenesis:objenesis:jar:3.2:test
[INFO]    |  +- org.neo4j:test-utils:jar:4.4.28:test
[INFO]    |  |  +- (org.neo4j:neo4j-common:jar:4.4.28:test - omitted for conflict with 5.10.0)
[INFO]    |  |  +- (org.neo4j:neo4j-graphdb-api:jar:4.4.28:test - omitted for conflict with 5.10.0)
[INFO]    |  |  +- (org.ow2.asm:asm:jar:9.2:test - omitted for conflict with 9.5)
[INFO]    |  |  +- (org.junit.jupiter:junit-jupiter:jar:5.7.2:test - omitted for conflict with 5.10.0)
[INFO]    |  |  +- (org.assertj:assertj-core:jar:3.18.1:test - omitted for conflict with 3.24.2)
[INFO]    |  |  +- (org.mockito:mockito-core:jar:3.12.4:test - omitted for duplicate)
[INFO]    |  |  +- org.bouncycastle:bcpkix-jdk18on:jar:1.75:test
[INFO]    |  |  |  +- org.bouncycastle:bcprov-jdk18on:jar:1.75:test
[INFO]    |  |  |  \- org.bouncycastle:bcutil-jdk18on:jar:1.75:test
[INFO]    |  |  |     \- (org.bouncycastle:bcprov-jdk18on:jar:1.75:test - omitted for duplicate)
[INFO]    |  |  +- org.hamcrest:hamcrest:jar:2.2:test
[INFO]    |  |  \- org.awaitility:awaitility:jar:4.1.0:test
[INFO]    |  +- (org.assertj:assertj-core:jar:3.18.1:test - omitted for conflict with 3.24.2)
[INFO]    |  +- (org.neo4j:neo4j:jar:4.4.28:test - omitted for conflict with 5.10.0)
[INFO]    |  +- (org.neo4j:neo4j-fulltext-index:jar:4.4.28:test - omitted for conflict with 5.10.0)
[INFO]    |  +- (org.neo4j:neo4j-procedure:jar:4.4.28:test - omitted for conflict with 5.10.0)
[INFO]    |  \- org.neo4j:layout-test-utils:jar:4.4.28:test
[INFO]    |     +- (org.neo4j:io-test-utils:jar:4.4.28:test - omitted for duplicate)
[INFO]    |     +- (org.junit.jupiter:junit-jupiter:jar:5.7.2:test - omitted for conflict with 5.10.0)
[INFO]    |     \- (org.neo4j:neo4j-layout:jar:4.4.28:test - omitted for conflict with 5.10.0)
[INFO]    +- (org.neo4j.gds:algo-common:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:annotations:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:config-api:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:core:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:core-utils:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:native-projection:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:graph-schema-api:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:memory-usage:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:model-catalog-api:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:neo4j-api:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- org.neo4j.gds:open-model-catalog:jar:2.5.5:test
[INFO]    |  +- (org.neo4j.gds:annotations:jar:2.5.5:test - omitted for duplicate)
[INFO]    |  +- (org.neo4j.gds:config-api:jar:2.5.5:test - omitted for duplicate)
[INFO]    |  +- (org.neo4j.gds:graph-schema-api:jar:2.5.5:test - omitted for duplicate)
[INFO]    |  +- (org.neo4j.gds:licensing:jar:2.5.5:test - omitted for duplicate)
[INFO]    |  \- (org.neo4j.gds:model-catalog-api:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:open-write-services:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:proc-common:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:progress-tracking:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:string-formatting:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- (org.neo4j.gds:transaction:jar:2.5.5:test - omitted for duplicate)
[INFO]    +- org.neo4j:neo4j-cypher-dsl:jar:2021.2.0:test
[INFO]    |  \- (org.apiguardian:apiguardian-api:jar:1.1.0:test - omitted for conflict with 1.1.2)
[INFO]    \- com.github.s1ck:gdl:jar:0.3.8:test
[INFO]       \- org.antlr:antlr4-runtime:jar:4.9.1:test

@Jean

describes the Neo4j version to GDS version matrix

Well thanks, I'll have a try on Open Graph Data Science 2.5 tomorrow. :smile:

Same exception with Open GDS 2.5.0's source & Neo4j 5.10.0, here's the pom.xml updated.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>cn.jean.neo4j</groupId>
	<artifactId>gds-extend</artifactId>
	<version>1.0.0-SNAPSHOT</version>

	<packaging>jar</packaging>
	<name>Jean's Neo4j GDS Extend</name>
	<description>Extended algorithm for Noe4j Graph Data Science</description>

	<properties>
		<java.version>17</java.version>
		<maven.compiler.release>${java.version}</maven.compiler.release>

		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<neo4j.version>5.10.0</neo4j.version>
		<neo4j-java-driver.version>5.10.0</neo4j-java-driver.version>
		<junit-jupiter.version>5.10.0</junit-jupiter.version>
		<maven-shade-plugin.version>3.5.1</maven-shade-plugin.version>
		<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
		<assertj.version>3.24.2</assertj.version>
		<maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
		<maven.version>3.9.4</maven.version>
		<maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version>
	</properties>

	<dependencies>

		<!-- Contains basic Neo4j support -->
		<dependency>
			<!-- This gives us the Procedure API our runtime code uses.
           We have a `provided` scope on it, because when this is
           deployed in a Neo4j Instance, the API will be provided
           by Neo4j. If you add non-Neo4j dependencies to this
           project, their scope should normally be `compile` -->
			<groupId>org.neo4j</groupId>
			<artifactId>neo4j</artifactId>
			<version>${neo4j.version}</version>
			<scope>provided</scope>
		</dependency>


		<!-- Open Graph Data Science Dependencies -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>core</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<!-- Contains the basic algorithm infrastructure -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>algo-common</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>algo</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<!-- Contains the basic procedure infrastructure -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-common</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-pregel</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-embeddings</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-centrality</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>proc-path-finding</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<!-- Contains Other basic Open Graph Data Science infrastructure -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>progress-tracking</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>memory-usage</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>graph-schema-api</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>config-api</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>annotations</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>executor</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>core-write</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>open-write-services</artifactId>
			<version>2.5.0</version>
			<scope>provided</scope>
		</dependency>

		<!-- Ccontains annotation support -->
		<dependency>
			<groupId>org.immutables</groupId>
			<artifactId>value</artifactId>
			<version>2.8.8</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.realityforge.org.jetbrains.annotations</groupId>
			<artifactId>org.jetbrains.annotations</artifactId>
			<version>1.7.0</version>
		</dependency>


		<!-- Test Dependencies -->
		<dependency>
			<groupId>org.neo4j.gds</groupId>
			<artifactId>test-utils</artifactId>
			<version>2.5.0</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.neo4j.community</groupId>
			<artifactId>it-test-support</artifactId>
			<version>5.10.0</version>
			<scope>test</scope>
		</dependency>
		
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>${maven-enforcer-plugin.version}</version>
				<executions>
					<execution>
						<id>enforce</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<phase>validate</phase>
						<configuration>
							<rules>
								<requireJavaVersion>
									<version>${java.version}</version>
								</requireJavaVersion>
								<requireMavenVersion>
									<version>${maven.version}</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven-compiler-plugin.version}</version>
			</plugin>
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven-surefire-plugin.version}</version>
			</plugin>
			<plugin>
				<!-- This generates a jar-file with our procedure code,
             plus any dependencies marked as `compile` scope.
             This should then be deployed in the `plugins` directory
             of each Neo4j instance in your deployment.
             After a restart, the procedure is available for calling. -->
				<artifactId>maven-shade-plugin</artifactId>
				<version>${maven-shade-plugin.version}</version>
				<configuration>
					<createDependencyReducedPom>false</createDependencyReducedPom>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>

Maybe we need a way to pass a parameter "neo4jVersion=5.10.0" to test-utils, just like what we do in gradle command line?

This issue is addressed by the Neo4j Open GDS project staff, please read details at issue #294
It's because the referenced artifact Open GDS test-utils 2.5.5 published to Maven repository is compiled with Neo4j 4.4, so it will throw exception while trying to load a Neo4j 5.x testing instance.
And they give a workaround at the mean time:
Hi @icejean, thank you for the code, after inspection we think that the issue is coming up because the test-utils published to Maven was compiled using Neo4j 4.4 database as default and there are some differences in the it-test-support artifact.
I would suggest you make verbatim copies of org.neo4j.gds.BaseTest and org.neo4j.gds.BaseProcTest to your test package org.neo4j.gds, just rename them to not be confused with the ones provided by test-utils and use them in your tests instead of the default ones.
This is sort of a quick and dirty(ish) workaround to get you unblocked, I will raise the issue with the team and we will think about more permanent and robust solution.
Thanks and best regards!