Maven插件和依赖项之间有什么区别?

时间:2014-10-10 04:41:48

标签: maven neo4j dependencies

我正在使用带有Grails的Neo4j和MongoDB,我想知道Maven Neo4j插件是否也为我的构建提供了Neo4j依赖项。同样适用于MongoDB。

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

2 个答案:

答案 0 :(得分:8)

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

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

以Neo4J为例,如果你的项目要求neo4j类在类路径上可用,你可以将它包含为依赖 - 也许是因为你正在编译它们的API。但是,如果您只需要运行Neo4J服务器进行测试,那么您将使用Neo4J 插件让它在Maven运行测试之前启动服务器然后插件将在服务器之后停止服务器测试已经完成。

我建议您阅读Sonatype的书籍Maven: A Complete Reference,了解有关Maven的更多详情。

答案 1 :(得分:0)

现在我得到了答案 主要是Grails插件提供许多工具,如Transaction,Dynamic Finders authomatic你不需要为它做任何事情,但是Spring Data Neo4j也提供这些工具,但你需要告诉像存储库中的Code。两者都有自己的优势和劣势,其程序员的选择是必要的