对于groovy文件,IntelliJ似乎使用javac而不是groovyc?

时间:2017-07-18 19:01:55

标签: java intellij-idea groovy

我有Java经验,但我是Groovy的新手。此外,我曾经在Eclipse中完成我的Java工作,但我已经被要求切换到IntelliJ,所以我已经这样做了。我继承的项目是从GitHub存储库中检出的,因为它通过部署工具的检查(CircleCI),所以我知道它是合理的,所以我假设问题出在我的IntelliJ配置中,我相信是在GitHub树之外,所以我必须自己重新创建正确的配置设置。

我在Ubuntu Linux机器上安装了IntelliJ,Java和Groovy。版本细节:

Ubuntu 14.04 LTS Groovy 2.4.9J VM:1.8.0_25供应商:Oracle Corporation操作系统:Linux Java 8 - Java HotSpot(TM)64位服务器VM(版本25.131-b11,混合模式)

IntelliJ IDEA 2017.2 Build#IU-172.3317.76,建于2017年7月15日 JRE:1.8.0_152-release-915-b5 amd64 JVM:JetBrains s.r.o的OpenJDK 64位服务器VM Linux 3.13.0-123-generic

我还启用了Gradle / Maven项目的自动导入。

不幸的是,我在groovy(" .groovy")脚本文件中的所有常量上都标记了错误。例如:

@RequestMapping(value = "/lookup", method = RequestMethod.GET)
String authentication(@RequestParam(name = "hub.mode") String mode,
                      @RequestParam(name = "hub.challenge") String challenge,
                      @RequestParam(name = "hub.verify_token") String token)

此错误消息显示常量 RequestMethod.GET 以下错误:

Expected RequestMethod.GET to be an inline constant

在这篇SO帖子中,作者说他遇到了同样的问题,因为他使用 javac 而不是 groovyc 来编译他的groovy文件。

Expected ' ' to be an inline constant. Java -> Groovy

我需要做什么才能确保IntelliJ使用groovyc而不是javac?

此外,在“项目结构”对话框的项目选项下, Project SDK 字段显示" no SDK"选中并选择SDK的下拉框为空(即 - 唯一可用的选项)。这对我来说似乎是一个问题。如果是,我该如何配置?

1 个答案:

答案 0 :(得分:1)

这是旧的,但对于任何新来的人。

您可以:

  1. 转到“设置/构建,执行,部署/编译器”,然后在Java编译器下可以选择Groovy / Eclipse(如果有groovy-eclipse-batch jar)
  2. 转到相同的位置,然后在Compiler下有一个Groovy Compiler选项,您可以在其中放置Groovyc设置。