Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Done
-
None
-
None
Description
I'm building an application that embeds tinkerpop3 and neo4j. Separate from the use of tinkerpop I'm using the neo4j batch inserter, but I got errors about not being able to find the none cache provider. I tracked it down to the relative position of the neo4j-kernel jar and the neo4j-gremlin jar on the class path affecting whether ServiceLoader (used by neo4j to find index providers, amongst other things) can find all the implementations. I found a bug reported against java (https://bugs.openjdk.java.net/browse/JDK-6957241) about jar indexing affecting ClassLoader.getResources, which is used by ServiceLoader to find the services meta files. So I tried repackaging the neo4j-gremlin jar without the index and then I no longer had the problem. Is there any real reason that the tinkerpop3 jars are indexed and embed a class path? Would you consider changing the build to no longer do these things.