Grails / IntelliJ设置有多个模块

时间:2012-10-09 12:59:40

标签: grails intellij-idea soa

我目前正在为我正在处理的项目定义项目结构。该项目是一个简单的SOA实现,因此有一个grails应用程序和许多不同的服务。

我想将这些服务打包到单独的模块(jar)中,以便可以轻松地单独部署它们,并且不存在类别成本污染的风险。

项目结构和依赖性可视化为:

Grails App (war)
|__ Service Gateway (jar)
    |__Service A (jar)
    |__Service B (jar)

虽然这些服务最终将单独部署,但为了便于本地开发,我想将它们打包成单个grails应用程序,直到有必要将它们分开。

我的最终目标是能够以与简单的grails应用程序相同的方式开发这些服务,因为我可以随时更改任何类(在任何模块中)并将其拾取。

我正在努力寻找IntelliJ中代表这种结构的最佳方式。

我为上面的每一个创建了单独的模块,并在它们之间添加了依赖项,但显然grails在运行时并不知道这一点。

我已经阅读并发现了以下可能的解决方案,所有这些解决方案目前都感觉有些不尽如人意,因为需要构建jar,这意味着无法动态重新加载类。

  1. 将模块安装到本地maven存储库中,并在grails build dependancies中引用它。
  2. 将内置的jar放入lib目录。
  3. 将它们添加为grails插件(看起来有点沉重,因为它们不需要grails功能)。
  4. 在grails类路径上找到包含这些模块的输出目录的其他方法(不确定最简洁的方法)。
  5. 谢谢!

1 个答案:

答案 0 :(得分:0)

最后,我选择了一个多模块Maven构建。动态代码部署的关键是使用JRebel监视输出目录并在更改时重新加载类。