Grails 中的插件是模块化应用程序的好方法。文档建议覆盖应用程序中插件的工件,该插件使用此插件。
这真的是最好的方法吗?
我们通过例子来描述它:插件中定义了一个域类“org.User”。应用程序覆盖此域类。如果我使用“grails run-app”,则没有警告并且可以正常工作。但是 Eclipse (GGTS) 抱怨“类 org.User 的重复类定义无效”。对于某些开发人员来说,这并不重要,但我喜欢 IDE 帮助通过诸如“自动完成”之类的 stuf 进行编码。
最后,这两个类都被编译并放在 java 类加载器上。类的应用程序版本在插件版本之前加载。类解析器首先找到它,这就是它起作用的原因。如果我在这一点上错了,请纠正我。在一个类加载器中拥有一个类的两个版本真的是个好主意吗?
有哪些替代方案?