我正在尝试使用Grails 1.3.1构建的旧版(2010)应用程序来帮助客户。它是更大系统的一部分。我们有源代码和许多运行实例(包括测试装备),但原始开发人员早已不复存在。客户需要对应用程序进行非常小的更改。它只在一个Groovy文件中。我已经设法在Eclipse(Luna)中打开项目并安装了GGTS。看起来没问题,Eclipse将类文件输出到target-eclipse目录。
计划是直接在运行应用程序的测试计算机上替换受影响的类文件。问题是:它不起作用。它运行在Tomcat6上,但我在日志中找不到任何相关内容(这也很奇怪) - 如果我替换这个类文件,应用程序就无法启动。我最好的猜测是因为我的机器上的Groovy编译器(由GGTS使用)比测试台上的更新。 Grails 1.3.1包含groovy-all-1.7.2.jar,我认为它与编译器版本相同,我不能再将其作为可下载工具,或者作为Eclipse插件(它只支持版本) 2.X及以后)。
有什么建议吗?我可以在jar中使用旧版本的groovy以某种方式编译文件吗?欢迎快速和肮脏的修复。他们希望避免升级正在运行的系统,因为这可能需要大量的工作。
我之前从未使用过Groovy或Grails,但我是一位经验丰富的Java开发人员。
答案 0 :(得分:1)
虽然使用Groovy 1.7.2编译的类可能在当前的Groovy下运行得很好,但另一种方法并不能保证。我建议不要使用GGTS,特别是不要使用这样的早期版本。
Groovy目前在旧版本的下载位置存在问题,但我们正在努力解决这个问题。您当然可以从maven central获取maven jar并从github repository获取命令行脚本,甚至可以使用它来尝试使用ant dist
自行构建发行版,或者仅使用ant install
用于本地安装。
最后当然可以选择使用grails zip本身的jar,defectus已经在评论中给出了链接