我一直在寻找使用grails来构建模拟服务器框架,但是在STS中配置它时遇到了麻烦。
基本要求是让核心框架存在于自己的项目中,最终将最终作为WAR工件,然后对于每个被模拟的服务,将创建一个包含服务配置的新jar项目(通常为xml / json响应和动态响应的groovy文件),它们将作为依赖项(在构建过程中使用配置文件)被拉入主WAR文件中。
使用Maven和配置文件可以很好地定义此外部构建过程。我已经制作了这个原型,所有这一切都挂在一起,像詹金斯这样的建筑师。
我遇到的问题是使用本机eclipse项目依赖关系管理和eclipse grails支持来设置可用的eclipse环境。我想要的是包含框架的标准grails项目,然后是包含服务配置文件的标准groovy项目,然后将后一个项目作为依赖项添加到前者。然而,我发现,如果你这样做然后调用run-app,那么groovy项目中的类和资源就不会包含在正在运行的应用程序中。我试过检查导出,但这没有任何区别。
到目前为止,我发现的唯一解决方法是使groovy项目maven工件成为grails应用程序中的依赖项,并在每个构建中引入它。这涉及每次在该项目中进行更改时将groovy项目打包并安装到本地仓库中的不良步骤。这种方法的另一个主要缺点当然是我根本没有从动态更新中获益,而且groovy项目中的任何代码更改都需要重新启动grails应用程序。
有没有人以这种方式成功配置了eclipse?如果这是不可能的,有没有办法修改grails构建过程,以便通过相对路径包含其他项目,比如说?
答案 0 :(得分:1)
根据此FAQ条目判断,推荐的方法是使用他们的插件架构。将不得不看看这是否与eclipse完美搭配。
http://grails.org/FAQ#Q:%20I“d%20like%20to%20implement%20A%20big%20project%20AS%20multi%20modules%20with%20Grails,%20What%20to%20do?
更新
可以通过向BuildConfig.grails添加条目以及插件的相对路径,让您的grails应用程序识别插件的扩展工作目录,例如
grails.plugin.location。“my-plugin”=“../ my-plugin”
使用'package-plugin'命令打包插件后,您的grails应用程序可以调试插件中的groovy和java文件。它还会在应用重启后获取插件的更改。这几乎就是我所追求的。
然而,关于如何创建一个混合了xml / json / groovy文件(你命名)的自定义资源结构,并将这些文件包含在生成的插件中,这一点并不直观。更不用说相对资源路径的陌生感了。我在某处读到你可以使用_install.groovy自定义什么是和不包括在内,但是再次说明如何做到这一点并不明显。我最关心的是这个项目应该是非精明的技术用户可以编辑的,所以我真的只想给他们提供一个没有所有这些grails脚手架的干净项目。
我对这种方法的臃肿感到绝望。一个简单的groovy项目有什么问题,它可以作为一个简单的jar包含在内?这似乎有点矫枉过正,特别是对于像我这样的简单要求。