我一直在学习Groovy/Grails工具套件(GGTS) 3.6.4,其中Grails 2.4.4使用了一些视频教程。当我试图使用Windows命令提示符上的grails war命令将项目打包到应用程序时,我会得到以下错误:
“错误级生成终止于错误:在根项目中找不到任务‘组装’.”
我在网上发现的任何对这个错误的引用都只涉及到Android (例如),所以我不知道如何为GGTS修复它。
我安装了Android 1.0.1,为了防止它影响Grails的打包,我尝试了从一般的Android "MyApplication.iml“文件中删除MyApplication.iml的解决方案,但是没有效果。我找不到GGTS的任何类似文件。
如果问题在我的整体安装的其他地方,我已经安装了Java 7_79 (64位)以及JDK 1.7.0_79 (64位)。
发布于 2015-05-02 08:49:39
好的。我发现了错误的原因,以及如何在将来避免错误。
问题
Grails3.0.1需要以下文件才能使grails war工作:
Grails 2.4.4在创建WAR文件时不需要任何上述文件。
GGTS 3.6.4不适用于Grails3.0.1,但它与Grails2.4.4一起使用并运行良好。
解决方案
将指定的Gradle文件和目录复制到GGTS项目文件夹中,解决了问题。但是,我并不满足于需要手动完成这个操作,或者需要为每个项目定制一个批处理文件。
从更深层次的角度来看,当解决我的系统上存在的32位JRE与Java 64位JRE & SDK、Grails和GGTS版本之间的兼容性问题时(为了让事情正常工作,我做了很多修改),我曾经将全局变量设置为Grails,目标是3.0.1,但我没有将其更新到Grails 2.4.4。做出这种改变已经解决了这个问题。
解释原因
在遵循此视频系列安装兼容的Java、Grails和GGTS集时,教员从Grails站点手动下载了最新版本的Grails,然后分别从自己的站点下载GGTS。这两个版本都比我以前的版本要老。
在我的例子中,在设置Java和Grails之后,GGTS的最新版本(3.6.4)与最新版本的Grails (3.0.1)无法正常工作。幸运的是,GGTS包附带了一个较旧版本的Grails (2.4.4),通过引用该版本,GGTS将正确工作。但是,尽管我将IDE引用更改为Grails,但我忘记了重置环境变量.
因此,GGTS正在设置使用Grails 2.4.4的项目。但是,在调用grails war时,命令使用的是Grails3.0.1!显然,这两个版本的Grails使用不同的文件来创建WAR文件,因此GGTS没有使用正确的本地文件设置项目目录,而且打包失败。
避免未来发生
因此,在使用GGTS 3.6.4时,确保所有对Grails的引用都指向Grails 2.4.4。
通常,如果任何GGTS包都包含Grails的版本,那么您应该将所有设置设置为使用该版本,即使它是旧版本。
https://stackoverflow.com/questions/29935638
复制相似问题