JDK22 目标 org.springframework.boot:spring-boot-maven-plugin:3.2.3:repackage failed: 不支持的类文件主要版本 66 执行重新打包 ->

问题描述 投票:0回答:1
  • 关于我的目标的详细信息:

使用刚刚发布的最新版本(截至撰写本文时)JDK 22 构建基本的 SpringBoot 3.2.3 应用程序

  • 我尝试了什么:

下载JDK22

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.3</version>
        <relativePath/>
    </parent>

    <properties>
        <java.version>21</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.graalvm.buildtools</groupId>
                <artifactId>native-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
  • 描述预期结果:

为了

mvn clean install
的成功,它在 JDK21 上运行良好。

  • 描述实际结果:

[DEBUG] Loading mojo org.springframework.boot:spring-boot-maven-plugin:3.2.3:repackage from plugin realm ClassRealm[plugin>org.springframework.boot:spring-boot-maven-plugin:3.2.3, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@18b4aac2]
[DEBUG] Configuring mojo execution 'org.springframework.boot:spring-boot-maven-plugin:3.2.3:repackage:repackage' with basic configurator -->
[DEBUG]   (f) attach = true
[DEBUG]   (f) excludeDevtools = true
[DEBUG]   (f) excludeDockerCompose = true
[DEBUG]   (f) excludes = []
[DEBUG]   (f) executable = false
[DEBUG]   (f) finalName = myproject-1.1
[DEBUG]   (f) includeSystemScope = false
[DEBUG]   (f) includes = []
[DEBUG]   (f) outputDirectory = /home/twentytwo/IdeaProjects/myproject/target
[DEBUG]   (f) project = MavenProject: com.abc:myproject:1.1 @ /home/twentytwo/IdeaProjects/myproject/pom.xml
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@4e49ce2b
[DEBUG]   (f) skip = false
[DEBUG] -- end configuration --
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.837 s
[INFO] Finished at: 2024-03-21T09:09:36+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.2.3:repackage (repackage) on project myproject: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:3.2.3:repackage failed: Unsupported class file major version 66 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.2.3:repackage (repackage) on project myproject: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:3.2.3:repackage failed: Unsupported class file major version 66
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
    at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:3.2.3:repackage failed: Unsupported class file major version 66
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:133)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
    at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 66
    at org.springframework.asm.ClassReader.<init> (ClassReader.java:199)
    at org.springframework.asm.ClassReader.<init> (ClassReader.java:180)
    at org.springframework.asm.ClassReader.<init> (ClassReader.java:166)
    at org.springframework.asm.ClassReader.<init> (ClassReader.java:287)
    at org.springframework.boot.loader.tools.MainClassFinder.createClassDescriptor (MainClassFinder.java:254)
    at org.springframework.boot.loader.tools.MainClassFinder.doWithMainClasses (MainClassFinder.java:216)
    at org.springframework.boot.loader.tools.MainClassFinder.findSingleMainClass (MainClassFinder.java:197)
    at org.springframework.boot.loader.tools.Packager.findMainMethod (Packager.java:351)
    at org.springframework.boot.loader.tools.Packager.findMainMethodWithTimeoutWarning (Packager.java:340)
    at org.springframework.boot.loader.tools.Packager.getMainClass (Packager.java:335)
    at org.springframework.boot.loader.tools.Packager.addMainAndStartAttributes (Packager.java:315)
    at org.springframework.boot.loader.tools.Packager.buildManifest (Packager.java:300)
    at org.springframework.boot.loader.tools.Packager.write (Packager.java:211)
    at org.springframework.boot.loader.tools.Packager.write (Packager.java:204)
    at org.springframework.boot.loader.tools.Repackager.repackage (Repackager.java:151)
    at org.springframework.boot.loader.tools.Repackager.repackage (Repackager.java:138)
    at org.springframework.boot.maven.RepackageMojo.repackage (RepackageMojo.java:227)
    at org.springframework.boot.maven.RepackageMojo.execute (RepackageMojo.java:217)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
    at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
    at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
    at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
    at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[DEBUG] Shutting down adapter factory; available factories [file-lock, rwlock-local, semaphore-local, noop]; available name mappers [discriminating, file-gav, file-hgav, file-static, gav, static]
[DEBUG] Shutting down 'file-lock' factory
[DEBUG] Shutting down 'rwlock-local' factory
[DEBUG] Shutting down 'semaphore-local' factory
[DEBUG] Shutting down 'noop' factory

Process finished with exit code 1


  • 问题:

如何使用新发布的JDK22进行构建?

java spring-boot maven
1个回答
0
投票

目前您无法将 Spring Boot 与 Java 22 一起使用。

所有当前可用的版本 (https://spring.io/projects/spring-boot#learn) 都提到“[...] 需要 Java 17 并且兼容 Java 21”(https:// docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.system-requirements)。

您必须等到 Spring 团队宣布支持 Java 22 的版本。

© www.soinside.com 2019 - 2024. All rights reserved.