我有一个示例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}中的类之间发生“无效的重复类定义”冲突。
我还需要执行其他手动步骤吗?
答案 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版本
我认为这可能会对你有所帮助