Grails 6.x(搭配Java11/17)执行run-app/compile命令失败求助
Grails 6.x执行
run-app/compile命令报错:参数不匹配的解决方法 问题描述
在使用Grails 6.0.0或6.1.2版本,分别搭配Java 11或17环境时,执行grails run-app或grails compile命令均无法正常运行。
复现步骤
- 安装Grails 6.0.0或6.1.2,对应配置Java 11或17环境
- 执行
grails create-app myapp创建项目 - 进入
myapp目录 - 执行
grails run-app命令
错误信息
索引0处存在不匹配的参数:'run-app' 您是否想要执行:grails create-app、grails create-webapp或grails create-restapi?
解决方法
Grails 6.x版本开始,传统的运行、编译类命令已迁移至Gradle任务,Grails CLI仅保留项目创建类命令,因此直接用grails执行run-app/compile会触发参数不匹配错误,需改用Gradle命令操作:
替换命令为Gradle任务
- 启动应用:Linux/macOS执行
./gradlew bootRun,Windows执行gradlew.bat bootRun - 编译项目:Linux/macOS执行
./gradlew compileGroovy,Windows执行gradlew.bat compileGroovy - 完整构建项目:Linux/macOS执行
./gradlew build,Windows执行gradlew.bat build
- 启动应用:Linux/macOS执行
验证环境配置
- 确认
JAVA_HOME指向正确的Java 11/17版本,且PATH包含对应Java的bin目录 - 执行
grails --version验证Grails版本与安装一致 - 项目根目录执行
./gradlew --version(Linux/macOS)或gradlew.bat --version(Windows),确保Gradle版本符合Grails 6.x要求(默认适配Gradle 7.x/8.x)
- 确认
检查项目完整性
- 确认项目根目录存在
build.gradle和settings.gradle文件,若缺失说明项目创建失败,需重新执行grails create-app myapp
- 确认项目根目录存在
内容的提问来源于stack exchange,提问作者Kumaresh Chandra Baruri
相关产品推荐
相关产品推荐

