java - IntelliJ 似乎使用 javac 而不是 groovyc 来处理 groovy 文件?

标签 java intellij-idea groovy

我有 Java 经验,但对 Groovy 还很陌生。另外,我习惯在 Eclipse 中完成 Java 工作,但有人要求我切换到 IntelliJ,所以我就这么做了。我继承的项目是从 GitHub 存储库中 checkout 的,我知道该存储库是健全的,因为它通过了部署工具的检查 (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 版本 #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-通用

我还启用了 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?

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

最佳答案

这已经很旧了,但对于新来的人来说..

你可以:

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

关于java - IntelliJ 似乎使用 javac 而不是 groovyc 来处理 groovy 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45175055/

相关文章:

java - 在 ViewScop 上写入 404 并在 JAVA JSF 中不重定向显示错误文件

java - 在多对一映射中映射 Hibernate 列并作为属性

java - 创建集合的副本

java - IntelliJ 中的实时模板不起作用?

java - jar 文件可以在 eclipse 文件夹中使用,但不能在其中使用。未找到主类

java - 动态加载具有非默认包且无嵌套文件夹的类文件

java - 在 IntelliJ IDEA 中禁用 "Constant conditions & exceptions"字段检查

java - 在 IDEA 2019.3+ 中更改外部注释位置

groovy - 使用工作流插件同时启 Action 业多次

unit-testing - 如何模拟acegi身份验证服务进行单元测试?