在使用Grails一年后,我仍然无法区分依赖项和插件之间的区别,所以我不知道在哪里声明每个和为什么。
我曾经认为依赖项是Java JAR,但事实并非如此,因为我宣称我们创建了一些插件作为依赖项,Grails仍然将它们识别为插件。
我现在最好的猜测是没有进一步的区别,除了默认情况下会导出插件。我是对的吗?
提前致谢。
答案 0 :(得分:2)
正如Grails参考指南中所述,这些是插件http://grails.org/doc/latest/guide/plugins.html,即Grails Platform的扩展,您可以插入它们以增强Grails应用程序的功能。您可以编写自己的所有者,甚至可以在Grails中央存储库中发布它们。
依赖关系是无法与Grails本身共享的JAR。例如:JTS(众所周知的Java拓扑套件,计算几何库)可能是您的GIS应用程序的依赖项,绝对不是插件!
有时这两个概念重叠,因为人们编写的插件是外部依赖的包装器,我正在考虑使用ANgularJS插件。
答案 1 :(得分:2)
简单地说:
插件通过修改应用程序的运行时配置来影响应用程序的实时循环,它们可以参与编译和引导阶段并扩展现有的类(如GORM一样)。
此外,作为Grails野兽,插件可以具有与Grails应用程序完全相同的人工制品类型。
最后但并非最不重要的一点是,这些插件可以独立运行,无需安装到应用程序中。