Currently working with Spring Data Neo4j, I'm using neo4j in 4.4.4.
I need to use an apoc coll function in a test. As this function is not bring by a simple import, I need to import in my pom.xml apoc with classifier all :
But this bring an old version of neo4j Driver (4.0.0) witch create conflict and result in unexecutable query.
It seem that this old version of neo4j is used for all latest apoc version.
Is there any chance for this to be updated?
Is there any way of getting only procedure and function class from the repository?
It seems that with Neo4j 5.x it is at least not trivial to get it up and running. I followed the approach documented here, but I'm running into several issues, e.g. classloading and injectables not being resolvable.
I created a demonstrator on GitHub - just clone and build it using "mvn clean verify" (JDK 17 required). Any hints?
thanks for your answer but actually it is bad news: Our use case is to enable dynamic provisioning of APOC (or other plugin JARs) for jQAssistant based on a configuration that we evaluate at runtime. So we have the problem that we don't know up-front the dependencies that we need to add...
The interesting part is that I did not stumble upon missing services etc. but at classloading issues like this (indicating that a class references a package-private super class from another classloader):
Suppressed: java.lang.IllegalAccessError: class io.netty.buffer.UnsafeDirectLittleEndian cannot access its superclass io.netty.buffer.WrappedByteBuf (io.netty.buffer.UnsafeDirectLittleEndian is in unnamed module of loader org.neo4j.procedure.impl.ProcedureClassLoader @3f3c5ecd; io.netty.buffer.WrappedByteBuf is in unnamed module of loader 'app')
BTW: I was actually wondering why APOC works in the Neo4j distribution itself but I found the solution here where a classpath is constructed including the JARs from the plugin directory.
I have solution at hand that I didn't want to use in first place before asking if there's something better available. Let's see if it works out, if you're interested I can let you know.