【问题标题】:Unrecognized target bytecode. Compiling Java with Groovy无法识别的目标字节码。使用 Groovy 编译 Java
【发布时间】:2021-05-15 10:35:25
【问题描述】:

我看到了几个这样的问题,但给定的建议都没有帮助我,所以我添加了这个。 我有 Java 应用程序,我将它迁移到 Java 11。我可以运行它,但是当我尝试 mvn install 它时,我得到了 tge 错误:

未能执行目标 org.codehaus.gmavenplus:gmavenplus-plugin:1.6:compileTests (默认) 在项目 osa-backend 上:目标的执行默认值 org.codehaus.gmavenplus:gmavenplus-plugin:1.6:compileTests 失败: 无法识别的目标字节码。

这是我的插件:

        <plugin>
        <groupId>org.codehaus.gmavenplus</groupId>
        <artifactId>gmavenplus-plugin</artifactId>
        <version>1.6</version>
        <executions>
            <execution>
                <goals>
                    <goal>compileTests</goal>
                </goals>
            </execution>
        </executions>
        <dependencies>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <version>2.4.16</version>
            </dependency>
        </dependencies>
    </plugin>

感谢您的任何建议,因为我不知道现在可以更改什么。

【问题讨论】:

  • 谢谢,我试过了,没有成功。
  • 为什么 groovy 2.4 和 java 11 ?即使使用 java 9,groovy 2.4 也无法正常工作:groovy-lang.org/releasenotes/groovy-2.5.html
  • 此外(因为您还用 spock 标记了问题),当前版本的 Spock 2.0-M4 至少需要 Groovy 2.5,而之前的稳定版本 1.3 也支持 Groovy 2.5如果您使用正确的工件。没有必要因为 Spock 而停留在 2.4 上,如果你是这么想的话。

标签: java groovy spock java-11


【解决方案1】:

此消息是为了警告您当前拥有的版本不支持您想要的字节码。

定位 Java 11 字节码需要 Groovy 2.5.3/3.0.0-alpha-4 或更高版本以及 GMavenPlus 1.6.2 或更高版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-21
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多