After upgrading to Neo4j 4.0.0, a problem is occurred when apoc is added to my dependencies. In a maven project with only a Main file with the following content:
package mypackage;
import org.neo4j.configuration.GraphDatabaseSettings;
import org.neo4j.configuration.connectors.BoltConnector;
import org.neo4j.dbms.api.DatabaseManagementService;
import org.neo4j.dbms.api.DatabaseManagementServiceBuilder;
import org.neo4j.graphdb.GraphDatabaseService;
import java.io.File;
public class Main {
public static void main(String[] args) {
DatabaseManagementService managementService = new DatabaseManagementServiceBuilder( new File("c:\\temp" ))
.setConfig( BoltConnector.enabled, true )
.build();
GraphDatabaseService graphDb = managementService.database( GraphDatabaseSettings.DEFAULT_DATABASE_NAME );
System.out.println("test");
}
}
if I only have neo4j 4.0.0 in my dependencies, I get no errors. But, when I add
<dependency>
<groupId>org.neo4j.procedure</groupId>
<artifactId>apoc</artifactId>
<version>4.0.0.0</version>
</dependency>
to my dependencies, I get:
java.lang.RuntimeException: Error starting database server at ...
...
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/text/lookup/StringLookup
Here is my pom.xml: POM for my question · GitHub
There seems to be a version conflict at commons-text (Its version is 1.2 in apoc, but the version used in neo4j-common seems to be 1.7).
I tried it in both Windows and Linux under Java 11.