grails - 在命令提示符中运行 “Task '时,Grails GGTS “grails war”汇编“在根项目中找不到”错误

标签 grails groovy gradle ggts

我一直在学习Groovy / Grails工具套件(GGTS)3.6.4,并使用一些video tutorials与Grails 2.4.4一起学习。当我尝试在Windows命令提示符下使用grails war命令将项目打包到应用程序中时,出现以下错误:

"Error Gradle build terminated with error: Task 'assemble' not found in root project ..."



我在网上发现的所有对此错误的引用都只涉及Android Studio(for instance),因此我对如何为GGTS修复此错误感到困惑。

我已经安装了Android Studio 1.0.1,并且如果它影响了Grails的包装,我尝试了从常规Android Studio“MyApplication.iml”文件中删除<component name="FacetManager">的解决方案,但这没有任何效果。我找不到GGTS的任何类似文件。

如果问题在我的整体安装中没有解决,请安装Java JRE 7_79(64位)以及JDK 1.7.0_79(64位)

最佳答案

好。我发现了错误的原因是什么,以及将来如何避免该错误。

问题

Grails 3.0.1需要以下文件才能使grails war运行:

  • build.gradle
  • gradle.properties
  • gradlew
  • gradlew.bat
  • \ gradle(目录)

  • Grails 2.4.4不需要上述任何文件即可生成WAR文件。

    GGTS 3.6.4不适用于Grails 3.0.1,但是它随Grails 2.4.4一起提供并可以正常工作。

    解决方案

    将声明的Gradle文件和目录复制到GGTS项目文件夹可解决此问题。但是,我对需要手动执行此操作或为每个项目使用自定义批处理文件感到不满意。

    从更深层次看,事实证明,在解决系统上现有的Java 32位JRE与Java 64位JRE&SDK,Grails和GGTS版本之间的兼容性问题时(有很多事情需要解决) ,在某一时刻,我已将全局变量设置为Grails,以直接指向3.0.1,但未能将其更新为Grails 2.4.4。进行此更改已解决了该问题。

    解释原因

    在安装兼容的Java,Grails和GGTS集合时遵循此video series时,讲师会从Grails站点手动下载最新版本的Grails,然后从其自己的站点单独下载GGTS。这两个都是比我正在使用的版本更旧的版本。

    就我而言,事实证明,在设置Java SDK和Grails之后,最新版本的GGTS(3.6.4)无法与最新版本的Grails(3.0.1)一起正常工作。幸运的是,GGTS bundle 包随附了较旧版本的Grails(2.4.4),通过引用它,GGTS可以正常工作。但是,尽管我将IDE引用更改为Grails,但我忘记了重置我的环境变量...

    因此,GGTS设置了使用Grails 2.4.4的项目。但是,当调用grails war时,该命令正在使用Grails 3.0.1!显然,这两个版本的Grails使用不同的文件来创建WAR文件,因此GGTS并未使用正确的本地文件设置项目目录,并且打包失败。

    避免将来发生

    因此,在使用GGTS 3.6.4时,请确保所有对Grails的引用都指向Grails 2.4.4。

    通常,如果任何GGTS bundle 包都包含Grails的版本,则应设置所有内容以使用该版本,即使该版本已旧也是如此。

    关于grails - 在命令提示符中运行 “Task '时,Grails GGTS “grails war”汇编“在根项目中找不到”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29935638/

    相关文章:

    android - 无法访问继承的库

    Spring MVC 映射-未找到 404 错误-使用 Gradle 和 Jetty

    gradle - Grails 3排除类(class)

    database - grails的数据库中存在用户名的逻辑

    groovy - Gradle/Groovy/Shadow项目创建可执行的jar文件

    jquery - 使用grails在jqgrid中添加行

    java - 在 Groovy 类中实现 Java 接口(interface)

    list - Groovy 在迭代 map 时修改 map 元素

    grails - 向 chalice 目标添加额外的配置属性

    java - 如何在服务器端为使用 Grails 和 CXF 发布的 Web 服务启用 MTOM?