I am using Neo4j and MongoDB with Grails, and I want to know whether the Maven Neo4j plugin also provides the Neo4j dependencies to my build. Similarly for MongoDB.
I am confused. What should I used, plugins or dependencies? What is the difference?
I am using Neo4j and MongoDB with Grails, and I want to know whether the Maven Neo4j plugin also provides the Neo4j dependencies to my build. Similarly for MongoDB.
I am confused. What should I used, plugins or dependencies? What is the difference?
Dependencies are artifacts (i.e. a jar) that your project requires to be available in its classpath at some point in time (i.e. at compile time or runtime)
A plugin however is an artifact that you can configure in your project to have it actually do something during the build of your project. (so for example there are plugins to actually compile your java classes, to copy files or to start and stop a database among many others). A plugin is not available on your project's classpath.
Taking Neo4J as an example, you would include it as a dependency if your project requires the neo4j classes to be available on the classpath - maybe because you are compiling against their API. If however you simply need a Neo4J server to be running for your tests, then you would use the Neo4J plugin to have it start a server before Maven runs your tests and then the plugin would stop the server after the tests have completed.
I would recommend taking a read of Sonatype's book Maven: A Complete Reference for more details on Maven in general.
Now I got the Answer Mainly Grails Plugin Provide many Facility like Transaction, Dynamic Finders authomatic you donot need to do any thing for it , But Spring Data Neo4j also provide these facility but you need to tell like Code in repository . Both have their own advantage and disadvantage its programmer choice which is necessary