【发布时间】:2014-10-10 04:41:48
【问题描述】:
我正在将 Neo4j 和 MongoDB 与 Grails 一起使用,我想知道 Maven Neo4j 插件是否也为我的构建提供了 Neo4j 依赖项。 MongoDB 也是如此。
我很困惑。我应该使用什么,插件或依赖项?有什么区别?
【问题讨论】:
标签: maven neo4j dependencies
我正在将 Neo4j 和 MongoDB 与 Grails 一起使用,我想知道 Maven Neo4j 插件是否也为我的构建提供了 Neo4j 依赖项。 MongoDB 也是如此。
我很困惑。我应该使用什么,插件或依赖项?有什么区别?
【问题讨论】:
标签: maven neo4j dependencies
Dependencies 是项目需要在其类路径中在某个时间点(即编译时或运行时)可用的工件(即 jar)
但是,插件是一个工件,您可以在项目中配置它以使其在项目构建期间实际执行某些操作。 (例如,有一些插件可以实际编译您的 java 类、复制文件或启动和停止数据库等)。您的项目的类路径中没有可用的插件。
以 Neo4J 为例,如果您的项目需要 Neo4j 类在类路径中可用,您可以将其作为 依赖项 包含 - 可能是因为您正在针对他们的 API 进行编译。但是,如果您只是需要一个 Neo4J 服务器来运行您的测试,那么您可以使用 Neo4J plugin 在 Maven 运行您的测试之前让它启动一个服务器,然后插件会在测试已完成。
我建议阅读 Sonatype 的书 Maven: A Complete Reference,了解有关 Maven 的更多详细信息。
【讨论】:
现在我得到了答案 主要是 Grails Plugin 提供了很多 Facility,比如 Transaction,Dynamic Finders authomatic 你不需要为它做任何事情,但是 Spring Data Neo4j 也提供了这些工具但是你需要在 repository 中告诉 Code。两者各有优劣,程序员的选择很有必要
【讨论】: