The integration with Neo4j in OGM makes it possible for a user to select the strategy that he wants to use to connect to an embedded or remote Neo4j instance. There are 3 possible options: 1) Embedded mode, Neo4j run in the same JVM 2) Remote via HTTP interface using RestEasy 3) Remote via the Bolt protocol using the neo4j-java-driver library
Everything is now in one single artifact meaning that for each case we have more dependencies than needed, in particular for the remote cases. Possible solutions I can think of at the moment are: 1) Have different maven artifacts: - We could have 3 artifacts: EMBEDDED, HTTP and BOLT - or 2 artifacts: EMBEDDED and REMOTE: This won't completely solve the issue because w would still have resteasy (for HTTP) and neo4j-java-driver (for BOLT) but it might be a good trade-off We will need to share some resource so this approach might require a Neo4j common library. 2) Make some dependencies optional (Need to test this, but it might work) 3) Use some maven plugin to generate different artifacts from the same module. I haven't used this approach before so I'm not sure if it is feasible. 4) ??? Any opinion about this? Issue on JIRA: https://hibernate.atlassian.net/browse/OGM-1190 Thanks, Davide _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev