0

我一直在使用一些视频教程学习 Groovy/Grails Tool Suite (GGTS) 3.6.4,以及 Grails 2.4.4 。grails war当我尝试使用Windows 命令提示符上的命令将项目打包到应用程序中时,我收到以下错误:

“错误 Gradle 构建因错误而终止:在根项目中找不到任务 'assemble' ...”

我在网上找到的对这个错误的任何引用都只涉及 Android Studio(例如),所以我在这里不知道如何为 GGTS 修复它。

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

如果问题出在我整体安装的其他地方,我安装了 Java JRE 7_79(64 位)以及 JDK 1.7.0_79(64 位)

4

1 回答 1

2

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

问题

Grails 3.0.1 需要以下文件grails war才能工作:

  • 构建.gradle
  • gradle.properties
  • 毕业典礼
  • 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 的视频系列时,讲师手动从 Grails 站点下载了最新版本的 Grails,然后从其自己的站点单独下载了 GGTS。这两个版本都比我使用的版本旧。

就我而言,事实证明,在设置 Java SDK 和 Grails 之后,最新版本的 GGTS (3.6.4) 无法与最新版本的 Grails (3.0.1) 一起正常工作。幸运的是,GGTS 包附带了旧版本的 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 包包含一个 Grails 版本,您应该将所有内容设置为使用该版本,即使它是旧版本。

于 2015-05-02T08:49:39.127 回答