相信大家在平常使用idea开发项目时多多少少都与groovy文件打过交道,那么在开始运行编译程序groovy文件时有没有遇到类似于Cannot compile Groovy files: no Groovy library is defined for module xxx这样的报错呢?这个报错还真被我在上周开发时碰到了呢,在下面我贴出了报错的截图,大家可以看下。
单独从字面上看就可以知道由于没有Groovy 库,所以导致了idea无法编译Groovy文件。既然都知道原因了,那么我们就大概知道如何解决了。我参考了网上其它人的一些思路以及结合了自己的思路给出了如下两种解决方案:
1.第一种方法: 在idea中依次打开File -> Settings -> Build, Execution, Deployment ->Compiler,然后在resource pattern中去掉 !?*.groovy;,即让编译器将groovy文件忽略掉,不对groovy文件进行编译。设置好后点击apply再重启下项目就不会报错了。相关图片如下图所示:
2. 第二种方法(推荐):既然没有groovy库,那么我们完全可以加入这个groovy库到项目的libraries中就可以了。我看到网上有些人的思路是直接去groovy官网将groovy library的压缩包下载下来,然后解压后引入到项目中。这种方法虽然可以解决问题,但我觉得管理起来不是很方便。我这边的思路就是可以直接将groovy库的maven依赖直接引入到项目的pom文件中,让maven去管理。groovy库的maven依赖引入后再重启下项目就不会报错了。下面我贴出groovy库的maven依赖:
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>3.0.6</version>
<!-- required JUST since Groovy 2.5.0 -->
<type>pom</type>
</dependency>
以上的两种解决方法我建议第二种方法,因为如果后续我们项目中真的需要大量使用到groovy这个语言,那么毫无疑问,第二种方法是非常有帮助的。写这篇博客时我借鉴了这位老哥的博客,大家有兴趣也可以看下。
idea报错Cannot compile Groovy files: no Groovy library is defined for module 'xx’之方