如何升级现有应用程序的Grails版本?

时间:2010-01-09 16:34:32

标签: grails

我有一个示例Grails应用程序(来自Grails in Action),它是在不同的PC上在1.1.1版本之前创建的。

我现在正在加载Grails 1.2.0并希望重新访问该应用。但是,当我尝试运行它时,我收到此消息:

  

应用程序需要grails版本[1.1.1],但GRAILS_HOME是版本[1.2.0] - 使用正确的Grails版本或运行'grails upgrade',如果此Grails版本比您的应用程序期望的版本更新。

在阅读了一下后,我清除了我主目录中.grails下的1.2.0文件夹(从以前的尝试中探索问题),运行“grails clean”和“grails upgrade”(在提示时回答“y”) )。

但是,我始终在\ grails \ qotd \ src \ java和\ grails \ qotd \ grails-app {controllers,services,conf}中的类之间发生“无效的重复类定义”冲突。

我还需要执行其他手动步骤吗?

3 个答案:

答案 0 :(得分:5)

我理解你的问题。 解决方案是在应用程序的application.properties文件中将grails vesion修改为1.2.0

答案 1 :(得分:2)

正如您在评论中指出的那样,/ src / java包含.groovy文件 - 这肯定会导致意外行为。我没有遇到你的特定问题,但是当我的.groovy文件与其中的类名不匹配时,我会遇到奇怪的编译问题 - 所以我猜你可能遇到类似的问题。

如果您在两个位置拥有相同名称的文件/类,那可能就是罪魁祸首。如果/ src / java中有.groovy文件,那么这是另一个潜在的来源。

此外,将BootStrap,Config,DataSource和URLMappings放入/ src / java,这是另一个潜在的问题来源。我通过确保所有文件都在grails-app下的适当位置来清除/ src / java。

答案 2 :(得分:0)

  

您可以通过5个步骤升级grails版本

  1. 项目 - >清洁
  2. application.properties - >更改app.grails.version
  3. 您的项目 - >属性 - > Grails - >更改grails安装 到新的grails版本。
  4. 您的项目 - > Grails工具 - >刷新依赖关系
  5.   

    我认为这可能会对你有所帮助