首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于jdk17的Maven工具链配置--不通过确定性插件3.0.0.M7进行纠偏

用于jdk17的Maven工具链配置--不通过确定性插件3.0.0.M7进行纠偏
EN

Stack Overflow用户
提问于 2022-09-19 15:17:45
回答 1查看 136关注 0票数 1

当我的活动jdk是JDK8时,尝试使用maven工具链编译一个Java 17项目。我设置了我的工具链,以便他们使用JDK17编译它,并且这个编译在运行错误的测试时失败:

代码语言:javascript
复制
Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M7:test failed: java.lang.UnsupportedClassVersionError: my/source/ControllerTest has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0.

我的pom tooLchain配置fr编译器和尽是火插件(M7版本):

代码语言:javascript
复制
    <properties>
           .....
           <toolchain>17</toolchain>
            <vendor>oracle</vendor>
        </properties>
  ....
....

<plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-toolchains-plugin</artifactId>
                        <configuration>
                            <jdkToolchain>
                                <version>${toolchain}</version>
                                <vendor>${vendor}</vendor>
                            </jdkToolchain>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                         <configuration>
                        <jdkToolchain>
                                <version>${toolchain}</version>
                                <vendor>${vendor}</vendor>
                        </jdkToolchain>
                    </configuration>                       
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>                         
                            <jdkToolchain>
                                <version>${toolchain}</version>
                                <vendor>${vendor}</vendor>
                            </jdkToolchain>                    
                            <argLine>@{surefireArgLine}</argLine>
                            <forkCount>1</forkCount>
                            <reuseForks>false</reuseForks>
                            <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>                       
                            
                            <includes>
                                <include>**/**Test.java</include>
                            </includes>
                           
                        </config>

为什么我的工具链配置没有被万无一失。编译本身是很好的,但是肯定会失败。感谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2022-09-28 02:37:28

我能够让工具链工作,如果我触发测试与"mvn测试“上的肯定火插件2.22。但是,如果测试是由“万无一失:测试”触发的,它就不会拾起工具链。

我一直在努力让它在“万无一失3”上发挥作用,但我一直遇到你发布的同样的问题。请告诉我,如果你找到了一个方法,使这个工作与万无一失3。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73775717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档