gpt4 book ai didi

grails - grails 3创建子项目

转载 作者:行者123 更新时间:2023-12-02 15:18:34 26 4
gpt4 key购买 nike

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

在grails 2.5中,设置很简单:

  • 在项目根目录
  • 中创建您的Web管理应用程序
  • 在项目根
  • 中将您的核心服务应用创建为插件
  • 在您的网络管理项目BuildConfig.groovy中添加一行以将服务项目用作爆炸式插件,例如“grails.plugin.location.coreservices =” ../coreservices“”

  • 要构建项目,只需在Web admin应用文件夹中进行即可。

    辉煌。轻松有效。开发人员只需从git check out 两个项目,然后关闭即可。作为奖励,还可以与intellij 14无缝协作(不幸的是,我们没有15以上的许可证,因此没有grails 3支持)

    在考虑过渡到Grails 3之前,我们需要能够做同样的事情。

    我们只能在该主题上找到一个 post

    这需要对gradle脚本进行广泛的“黑客攻击”,并在两个项目上方的目录中创建脚本,这对于与git配合使用而言并不理想。

    在“保持事物干燥”部分,他们将一些东西从子项目的build.gradle文件移到了项目上方的build.gradle文件中。这是必需的吗?
  • 新的主gradle文件具有两次“存储库{mavenLocal()..””。一次在buildscript下,然后在“subprojects {project->”下。它是否正确?是不是只在主项目上,还是仅在两个子项目上,而不是全部在三个项目上?
  • 如果我们引入可选的爆炸式插件(具有不同的依赖性),则每个开发人员都必须手动编辑父gradle。这使得版本和控制变得困难。
  • 本文将Spring Security Core添加到“插件域”,而不是Web应用程序项目。当然,安全性已添加到Web应用程序中,而不是服务/域层插件中吗? API应用程序项目将具有不同的安全性要求。

  • 有没有人对grails 3有更好的选择,还是应该坚持grails 2.5?我们需要的grails 3中没有任何功能,但是在某些时候2.5将变得过时,并且迁移在大多数情况下似乎是不可行的。没有像intellij Ultimate或GGTS这样的集成grails 3支持的负担得起的IDE,这也是一个很大的缺点。

    最佳答案

    不需要“黑客”。
    这是官方的多项目教程:
    http://guides.grails.org/grails-quickcasts-multi-project-builds/guide/index.html

    mavenLocal()-是一个本地文件夹,用于存储项目的所有依赖项。 “buildscript”块仅控制构建脚本过程本身的依赖关系,而不控制顶级“dependencies”块控制的应用程序代码的依赖关系。因此,您可以为“buildscript”和“dependencies”使用不同的存储库。

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

    我将项目从grails 2移到了3,结果令我感到满意。

    IntelliJ 2016-2017完美搭配Grails 3

    关于grails - grails 3创建子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44820564/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com