Groovy 2.5.3 与 Java 10 在 Maven 中

Groovy 2.5.3 with Java 10 in Maven

我正在尝试将我的联合 Java/Groovy 项目升级到 Java 10,但我的希望和抱负似乎被 Project Jigsaw 的参差不齐的岩石击碎了。

我的 Maven 3.6.0 POM 的相关部分看起来像

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.RELEASE</version>
    <relativePath/>
</parent>
...
<java.version>10</java.version>
<groovy.version>2.5.3</groovy.version>
...
<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>${groovy.version}</version>
    <type>pom</type>
</dependency>

我还在 usual way 中安装了 GMavenPlus 1.6.2。我使用了 Groovy 2.5.3,因为在使用 2.4.13 GMavenPlus 编译时出现此错误:

[ERROR] Failed to execute goal org.codehaus.gmavenplus:gmavenplus-plugin:1.6.2:compile (default) on project batch: Execution default of goal org.codehaus.gmavenplus:gmavenplus-plugin:1.6.2:compile failed: Target bytecode 10, 11, or 12 requires Groovy 2.5.3/3.0.0-alpha-4 or newer.  No 2.6 version is supported. -> [Help 1]

但是,在 Groovy 2.5.3 中,模块结构已更改为支持 Java 9,现在我们需要导入类型为 pomgroovy-all(如上所示) ).但是,maven 一直在尝试下载 groovy-all-2.5.3.jar,根据 this page,它不再存在。

[ERROR] Failed to execute goal on project batch: Could not resolve dependencies for project XXX: Could not find artifact org.codehaus.groovy:groovy-all:jar:2.5.3 in XXX -> [Help 1]

有人知道如何进行吗?

根据兼容性,您可以遵循一些解决此问题的建议:

  1. 您应该升级到日志中显示的版本 org.codehaus.groovy:groovy-all:3.0.0-alpha-3

  2. 您应该升级到 spring-boot-starter-parent2.1.0.RELEASE,开箱即用支持 Java 直到版本 11。