Grails3创建子项目

Grails3创建子项目,grails,Grails,通常有一个产生war的web管理项目和一个产生不同war的API项目。每个都可以在具有不同防火墙规则的不同服务器上运行(在生产环境中)。公共部分是服务和域层。此外,可能还有其他可选组件,它们也可以从分解插件中获益。分解插件允许分离,但允许开发人员一起查看和修改所有源代码,就像它是一个巨大的项目一样 在grails 2.5中,设置此设置非常简单: 在项目根目录中创建web管理员应用程序 在项目根目录中将核心服务应用程序创建为插件 在web管理项目BuildConfig.groovy中添加一行,将服

通常有一个产生war的web管理项目和一个产生不同war的API项目。每个都可以在具有不同防火墙规则的不同服务器上运行(在生产环境中)。公共部分是服务和域层。此外,可能还有其他可选组件,它们也可以从分解插件中获益。分解插件允许分离,但允许开发人员一起查看和修改所有源代码,就像它是一个巨大的项目一样

在grails 2.5中,设置此设置非常简单:

  • 在项目根目录中创建web管理员应用程序
  • 在项目根目录中将核心服务应用程序创建为插件
  • 在web管理项目BuildConfig.groovy中添加一行,将服务项目用作分解插件,例如“grails.plugin.location.coreservices=“../coreservices”
  • 要构建项目,只需在web admin app文件夹中执行grails war

    太棒了。轻松有效。开发人员只需从git签出两个项目,然后就可以开始了。与intellij 14无缝配合也是一个额外的优势(很遗憾,我们没有15+的许可证,因此不支持grails 3)

    <>在我们考虑迁移到GRAILS 3之前,我们需要能够做同样的事情。

    关于这个问题,我们只能找到一个

    这需要对gradle脚本进行大量的“黑客攻击”,并在上述两个项目的目录中创建脚本,这对于git来说并不理想

    在“保持干燥”一节中,他们将子项目build.gradle文件中的一些内容移动到项目上方的build.gradle文件中。这是必需的吗

  • 新的master gradle文件有两次“repositories{mavenLocal()..”。一次在buildscript下的顶部,然后在“subprojects{project->”下。这是正确的吗?它不应该只在主项目上,还是只在两个子项目上,而不是全部3个子项目上

  • 如果我们引入可选的分解插件(具有不同的依赖项),则每个开发人员都必须手工编辑父级gradle。这使得版本和控制变得困难

  • 本文将spring security core添加到“插件域”,而不是web应用程序项目。当然,安全是添加到web应用程序,而不是服务/域层插件?API应用程序项目将有不同的安全要求

  • 是否有人对grails 3有更好的方法,或者我们应该坚持使用grails 2.5?grails 3中没有我们需要的功能,但在某个时候2.5会变得太旧,并且迁移在很大程度上看起来是不可行的。事实上,没有价格合理的集成了grails 3支持的IDE,类似intellij ultimate或GGTS,这是一个很大的负面影响所以。

    “黑客”是没有必要的。 以下是官方多项目教程:

    mavenLocal()-是一个本地文件夹,用于存储项目的所有依赖项。“buildscript”块仅控制buildscript进程本身的依赖项,而不是顶层“依赖项”块控制的应用程序代码的依赖项。因此,“buildscript”和“依赖项”可以有不同的存储库

    阅读Gradle用户指南了解更多信息。Gradle比旧的grails构建系统更难,但功能更强大

    我将项目从Grails2移到了3,我对结果感到满意

    IntelliJ 2016-2017完美地使用了我发现并遵循的grails 3,这与大多数其他教程不同,因为它使用创建插件而不是创建插件部分的应用程序

    然后,该项目可以与EclipseNeon2正常工作