groovy 如何升级Helidon,Jersey,Spock等Java 17?

ev7lccsx  于 8个月前  发布在  Java
关注(0)|答案(1)|浏览(60)

谁能给我指一个项目,最好是GitHub,其中有一个我们在Java 17下工作的关键技术的例子,这样我就可以感受到和谐的依赖版本?

org.spockframework.util.InternalSpockError: Failed to instantiate spec 'CQRSExceptionMapperSpec'
        at app//org.spockframework.runtime.PlatformSpecRunner.createSpecInstance(PlatformSpecRunner.java:80)
        at app//org.spockframework.runtime.PlatformSpecRunner.runSharedSpec(PlatformSpecRunner.java:45)
. . .
Caused by: java.util.ServiceConfigurationError: Error instantiating :io.helidon.microprofile.server.JaxRsCdiExtension
. . .
Caused by: java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    io/helidon/microprofile/server/JaxRsCdiExtension.toJerseySupport(Ljava/util/function/Supplier;Lio/helidon/microprofile/server/JaxRsApplication;Lorg/glassfish/jersey/internal/inject/InjectionManager;)Lio/helidon/webserver/jersey/JerseySupport; @4: invokestatic
  Reason:
    Type 'org/glassfish/jersey/server/ResourceConfig' (current frame, stack[0]) is not assignable to 'javax/ws/rs/core/Application'
  Current Frame:
    bci: @4
    flags: { }
    locals: { 'io/helidon/microprofile/server/JaxRsCdiExtension', 'java/util/function/Supplier', 'io/helidon/microprofile/server/JaxRsApplication', 'org/glassfish/jersey/internal/inject/InjectionManager' }
    stack: { 'org/glassfish/jersey/server/ResourceConfig' }
  Bytecode:
    0000000: 2cb6 004d b800 4e3a 0419 04b8 0035 c000
    0000010: 4f12 50b9 0051 0200 b600 5257 1904 2cb6
    0000020: 0053 2bb6 0054 c000 55b6 0056 5719 04bb
    0000030: 0057 592a b700 58b6 0059 5719 042d b600
    0000040: 5a57 1904 b600 5bb0                    

    at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373)
    at java.base/java.lang.Class.getConstructor0(Class.java:3578)
    at java.base/java.lang.Class.getDeclaredConstructor(Class.java:2754)
    at org.jboss.weld.util.ServiceLoader.createInstance(ServiceLoader.java:311)
    ... 81 more

很抱歉吵到你了,但我花了太多时间在这上面了...
我正试图将我们的代码库从Java 8和11更新到17,但在Helidon、Jersy、Jackson、Spock、Groovy等方面遇到了各种各样的依赖地狱问题。
咨询聊天GPT我得到很多建议
您提供的错误消息java.util.ServiceConfigurationError:示例化io.helidon.microprofile.server.JaxRsCdiExtension时出错,表示在使用Helidon MicroProfile Server时示例化io.helidon.microprofile.server.JaxRsCdiExtension类时存在问题。
以下是您可以采取的几个步骤来排除和解决此问题:
检查相关性:确保您拥有Helidon MicroProfile及其依赖项的正确版本。确保不同的依赖项之间没有版本冲突。
类路径问题:验证类路径中是否包含了所有必需的JAR和库。有时,缺少或冲突的库会导致示例化错误。
正确配置:检查您的配置设置。确保正确设置了Helidon MicroProfile Server,包括JAX-RS和CDI扩展所需的任何配置文件或注解。
日志记录和调试:增加日志记录级别以查看是否有更详细的错误消息。这可能会帮助您查明问题的确切原因。
检查已知问题:搜索与您正在使用的Helidon MicroProfile Server特定版本相关的任何已知问题。该问题可能是一个已知的错误,有解决方法或较新版本中的修复程序。
检查环境:确保您的运行时环境(如Java版本)与您正在使用的Helidon MicroProfile版本兼容。
隔离:如果您使用的是Maven或Gradle等依赖管理工具,请尝试构建一个干净的项目或隔离问题,以确保它不是由与其他项目组件的交互引起的。
联系支持或社区:如果您无法自行解决问题,请考虑联系Helidon MicroProfile社区或支持渠道。他们可能能够根据您的用例提供特定的指导。
请记住,您遇到的错误是特定于项目上下文及其配置。仔细检查项目设置并系统地进行故障排除以确定问题的根本原因非常重要。
现在我处于“联系支持或社区”步骤。
从我们的gradle.build我有

ext {
    immutablesVersion = "2.8.8"
    // helidonVersion = "2.6.0"
    helidonVersion = "2.6.2"
    jandexVersion = "0.8.0"
    groovyVersion = "4.0.13"
    spockVersion = "2.3-groovy-4.0"
    jacksonVersion = "2.14.2"
    jerseyJacksonVersion = "3.1.3"
    slf4jVersion = "1.7.30"
    log4j2Version="2.17.1"
    jerseyClientVersion = "2.31"
    apacheCommonsLang3Version = "3.8.1"
    jacksonAnnotationsVersion = "2.14.2"
    jacksonDataformatVersion = "2.14.2"
    jacksonDatabindVersion = "2.14.2"
    gcsVersion = "2.7.2"
    commonsCodecVersion = "1.15"
    nettyVersion = "4.1.86.Final"
    apacheCommonsVersion = "3.8.1"
    commonsCompressVersion = "1.21"
    bouncyCastleBcprovVersion = "1.67"
    jsltVersion = "0.1.11"
    googleLibrariesVersion = "26.1.3"
    prometheusJmxAgentVersion = "0.17.2"
    testngVersion = "7.7.1"
    jsonVersion = "20230227"
    jose4jVersion = "0.9.3"
    lz4JavaVersion = "1.8.0"
    kafkaVersion = "3.4.0"
}

谁能给我指一个项目,最好是GitHub,其中有一个我们在Java 17下工作的关键技术的例子,这样我就可以感受到和谐的依赖版本?

lvmkulzt

lvmkulzt1#

Helidon提供依赖关系管理。在这里查看Gradle示例。您也可以直接查看pom here

相关问题