我有一个相当大的Grails应用程序,它有少量的控制器和视图以及大量的服务。Grails:两个站点,一个代码库
我现在需要构建一个拥有自己的视图和控制器(控制器的工作方式有一些细微差异)的同一站点的“reskinned”版本,但同一组服务。一种选择是通过定制的Grails插件将所有服务转移到某种常见的地方,但我想知道是否有其他方法。
我想要做的是在控制器文件夹com.company.sitea和com.company.siteb中有两个包,其中有一个环境变量可以有效地选择使用哪一个。同样,两个不同的视图集,每个视图都基于此环境变量进行选择,但具有共享taglib。
我无法找到任何明显的做到这一点,是否有插件或标准的做法(或类似的)?这个想法是,我有一个代码库,我会构建一场战争,但战争将部署在两个不同的地方,并且每一个都会为特殊的环境变量指定一个值。
老实说,我会去插件路线自己。甚至将服务拉出到他们自己的Grails应用程序(WAR)中,并让控制器作为web服务与他们交谈。 – Gregg
是的,如果我们不能将它们放在一起,这就是我们要做的事情,但根据我的经验,分割代码库半无用地阻碍了重构,并导致我厌恶的锁步变更的噩梦。这两个网站将共享大约98%的功能(不包括视图细节),将一个代码库转换为三个代码库将是一个耻辱。 – Rod
我也为“普通”插件路线投票。因为您已经在制作插件 – Vinny