我目前正在为我正在处理的项目定义项目结构。该项目是一个简单的SOA实现,因此有一个grails应用程序和许多不同的服务。
我想将这些服务打包到单独的模块(jar)中,以便可以轻松地单独部署它们,并且不存在类别成本污染的风险。
项目结构和依赖性可视化为:
Grails App (war)
|__ Service Gateway (jar)
|__Service A (jar)
|__Service B (jar)
虽然这些服务最终将单独部署,但为了便于本地开发,我想将它们打包成单个grails应用程序,直到有必要将它们分开。
我的最终目标是能够以与简单的grails应用程序相同的方式开发这些服务,因为我可以随时更改任何类(在任何模块中)并将其拾取。
我正在努力寻找IntelliJ中代表这种结构的最佳方式。
我为上面的每一个创建了单独的模块,并在它们之间添加了依赖项,但显然grails在运行时并不知道这一点。
我已经阅读并发现了以下可能的解决方案,所有这些解决方案目前都感觉有些不尽如人意,因为需要构建jar,这意味着无法动态重新加载类。
谢谢!
答案 0 :(得分:0)
最后,我选择了一个多模块Maven构建。动态代码部署的关键是使用JRebel监视输出目录并在更改时重新加载类。