什么';Maven插件和依赖项之间的区别是什么?

什么';Maven插件和依赖项之间的区别是什么?,maven,neo4j,dependencies,Maven,Neo4j,Dependencies,我在Grails中使用Neo4j和MongoDB,我想知道Maven Neo4j插件是否也为我的构建提供了Neo4j依赖项。MongoDB也是如此 我很困惑。我应该使用什么,插件还是依赖项?区别是什么?是项目要求在某个时间点(即编译时或运行时)在其类路径中可用的工件(即jar) 然而,插件是一个工件,您可以在项目中配置它,使其在项目构建期间实际执行某些操作。(例如,有一些插件可以编译java类、复制文件或启动和停止数据库等)。插件在项目的类路径上不可用 以Neo4J为例,如果您的项目要求Neo4

我在Grails中使用Neo4j和MongoDB,我想知道Maven Neo4j插件是否也为我的构建提供了Neo4j依赖项。MongoDB也是如此

我很困惑。我应该使用什么,插件还是依赖项?区别是什么?

是项目要求在某个时间点(即编译时或运行时)在其类路径中可用的工件(即jar)

然而,插件是一个工件,您可以在项目中配置它,使其在项目构建期间实际执行某些操作。(例如,有一些插件可以编译java类、复制文件或启动和停止数据库等)。插件在项目的类路径上不可用

以Neo4J为例,如果您的项目要求Neo4J类在类路径上可用,那么您可以将其作为依赖项包括在内——可能是因为您是根据它们的API进行编译的。但是,如果您只是需要运行一台Neo4J服务器来进行测试,那么您可以使用Neo4J插件让它在Maven运行测试之前启动一台服务器,然后该插件会在测试完成后停止服务器

我建议大家阅读一下Sonatype的书,了解有关Maven的更多细节。

现在我得到了答案
主要是Grails插件提供了许多类似于事务的功能,动态查找器authomatic您不需要为它做任何事情,但是SpringDataNeo4j也提供了这些功能,但您需要告诉存储库中类似的代码。两者都有各自的优点和缺点,程序员的选择是必要的

你能把这个答案移植到这里吗:这样我就可以投票以重复的方式结束这个问题了?