我正在使用Intellij在Groovy中尝试Hello World。我使用的是最新的Intellij:
我使用sdkman安装了Groovy:
当我创建一个新的Groovy项目时,它认识到我安装了Groovy
当我在src
目录中创建一个groovy文件并尝试运行它时
我收到错误Error:Cannot compile Groovy files: no Groovy library is defined for module 'new-groovy'
然后我在Project Structure中检查我的模块,并且groovy确实显示在依赖项中(这是我的案例与the previously accepted answer to this error不同的地方)
Groovy也被列为一个库(我不知道为什么PHP被列为每个新项目的库)
我尝试了将下拉列表中的值从编译更改为其他选项的不同组合,检查并取消选中“导出”选项。在观看上述步骤的在线演示时,我无法在设置中看到任何不同的内容。
答案 0 :(得分:2)
唯一有效的方法是删除我所有的Intellij / Jetbrains全局配置文件。我进入~/Library/Preferences
并删除了文件名中包含Jetbrains或Intellij的任何内容。在过去的两年里,我一直在重用几个版本的配置文件。它赶上了我。 Groovy文件现在将编译。
答案 1 :(得分:1)
我真的没有直接解决你的问题,但也许可以提供一些东西来检查。
我在IntelliJ 2017.3中使用Groovy模板创建了一个示例项目(我所拥有的,希望不是产生差异的原因)。然后我添加了一个HelloWorld类,并在intellij工具栏中点击“运行'Hello World'”播放按钮,结果如下面的屏幕所示。
值得检查的是您的运行配置(Main Menu -> Run -> Edit Configurations...
),并且您在“使用模块的类路径”下拉列表中选择了主模块new-groovy
。
另外,如果在项目视图(最后一个屏幕)中展开groovy节点,IntelliJ是否指向实际存在于磁盘上的文件?我问的原因有时你是通过sdkman进行更改并在IntelliJ中悬挂以前有效的sdk注册并且无效。