在 Spring Boot 2.7.18 应用程序上升级 Apache Ignite 2.16.0 REST API

问题描述 投票:0回答:2

我正在尝试在 Spring Boot 应用程序上升级 Apache Ignite Rest api。

Apache Ignite 版本 2.16.0

Spring Boot 版本 2.7.18

Java 17

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-parent</artifactId>

       <version>2.7.18</version>

       <relativePath/> <!-- lookup parent from repository -->

    </parent>

    <groupId>com.test.apache</groupId>

    <artifactId>test_project</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <packaging>war</packaging>

    <name>test_project</name>

    <description>test project</description>  

    <properties>

       <java.version>17</java.version>

       <ignite.version>2.16.0</ignite.version>

    </properties>

    <dependencies>

       <dependency>

          <groupId>io.springfox</groupId>

          <artifactId>springfox-swagger2</artifactId>

          <version>3.0.0</version>

       </dependency>

       <dependency>

          <groupId>io.springfox</groupId>

          <artifactId>springfox-swagger-ui</artifactId>

          <version>3.0.0</version>

       </dependency>

       <dependency>

          <groupId>com.nimbusds</groupId>

          <artifactId>nimbus-jose-jwt</artifactId>

          <version>9.39.1</version>

       </dependency>

       <dependency>

          <groupId>org.springframework.security</groupId>

          <artifactId>spring-security-jwt</artifactId>

          <version>1.1.1.RELEASE</version>

       </dependency>

       <dependency>

          <groupId>org.apache.ignite</groupId>

          <artifactId>ignite-core</artifactId>

          <version>${ignite.version}</version>

       </dependency>

       <dependency>

          <groupId>org.apache.ignite</groupId>

          <artifactId>ignite-spring</artifactId>

          <version>${ignite.version}</version>

       </dependency>

       <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-actuator</artifactId>

       </dependency>

       <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-oauth2-client</artifactId>

       </dependency>

       <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-security</artifactId>

       </dependency>

       <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-web</artifactId>

       </dependency>

       <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-configuration-processor</artifactId>

          <optional>true</optional>

       </dependency>

       <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-tomcat</artifactId>

          <scope>provided</scope>

       </dependency>

       <dependency>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-starter-test</artifactId>

          <scope>test</scope>

       </dependency>

       <dependency>

          <groupId>org.springframework.security</groupId>

          <artifactId>spring-security-test</artifactId>

          <scope>test</scope>

       </dependency>

    </dependencies>

    <build>

       <plugins>

          <plugin>

             <groupId>org.springframework.boot</groupId>

             <artifactId>spring-boot-maven-plugin</artifactId>

          </plugin>

       </plugins>

    </build>

</project>
java.lang.NoClassDefFoundError: Could not initialize class org.apache.ignite.IgniteJdbcThinDriver

        at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
        at java.base/java.lang.Class.forName(Class.java:467) ~[na:na]
        at java.sql/java.sql.DriverManager.isDriverAllowed(DriverManager.java:558) ~[java.sql:na]
        at java.sql/java.sql.DriverManager.isDriverAllowed(DriverManager.java:550) ~[java.sql:na]
        at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:451) ~[java.sql:na]
        at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:428) ~[java.sql:na]
        at org.apache.catalina.loader.JdbcLeakPrevention.clearJdbcDriverRegistrations(JdbcLeakPrevention.java:47) ~[spring-boot-2.7.18.jar:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
        at org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc(WebappClassLoaderBase.java:1647) ~[tomcat-embed-core-9.0.83.jar:9.0.83] 
        at org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1575) ~[tomcat-embed-core-9.0.83.jar:9.0.83]     
        at org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1513) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:442) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:242) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5184) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:242) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1348) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1337) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) ~[na:na]
        at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:931) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:242) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1348) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1337) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
        at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) ~[na:na]
        at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:931) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:242) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:496) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:242) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:973) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:242) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:499) ~[tomcat-embed-core-9.0.83.jar:9.0.83]
        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stop(TomcatWebServer.java:331) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:152) ~[spring

-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1289) ~[spring-boot-2.7.18.jar:2.7.18]

        at com.comcast.oegress.sqlgateway.IgniteSqlGatewayApplication.main(IgniteSqlGatewayApplication.java:18) ~[classes/:na]

Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: Could not initialize class org.apache.ignite.internal.util.I

gniteUtils [in thread "main"]

        at org.apache.ignite.lang.IgniteProductVersion.fromString(IgniteProductVersion.java:312) ~[ignite-core-2.16.0.jar:2.16.0]

        at org.apache.ignite.internal.IgniteVersionUtils.<clinit>(IgniteVersionUtils.java:94) ~[ignite-core-2.16.0.jar:2.16.0]

        at org.apache.ignite.IgniteJdbcThinDriver.<clinit>(IgniteJdbcThinDriver.java:140) ~[ignite-core-2.16.0.jar:2.16.0]

        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]

        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[na:na]

        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]

        at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[na:na]

        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[na:na]

        at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789) ~[na:na]

        at java.base/java.util.ServiceLoader$ProviderImpl.get(ServiceLoader.java:729) ~[na:na]

        at java.base/java.util.ServiceLoader$3.next(ServiceLoader.java:1403) ~[na:na]

        at java.sql/java.sql.DriverManager$2.run(DriverManager.java:618) ~[java.sql:na]

        at java.sql/java.sql.DriverManager$2.run(DriverManager.java:598) ~[java.sql:na]

        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) ~[na:na]

        at java.sql/java.sql.DriverManager.ensureDriversInitialized(DriverManager.java:598) ~[java.sql:na]

        at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:426) ~[java.sql:na]

        ... 40 common frames omitted
2024-07-08 11:09:00.211  INFO 20848 --- [           main] ConditionEvaluationReportLoggingListener :



Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.

2024-07-08 11:09:00.231 ERROR 20848 --- [           main] o.s.boot.SpringApplication               : Application run failed



org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'lincsController': Unsatisfied dependency expressed thro

ugh field 'lincsService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'lincsServ

ice': Unsatisfied dependency expressed through field 'igniteClients'; nested exception is org.springframework.beans.factory.BeanCreationException: Error

 creating bean with name 'igniteClients' defined in class path resource [igniteClientConfigBean.xml]: Invocation of init method failed; nested exception

 is java.lang.ExceptionInInitializerError

        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotation

BeanPostProcessor.java:713) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostPro

cessor.java:693) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.

java:408) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) ~[spr

ing-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) ~[spri

ng-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring

-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.31.jar:5.3.

31]

        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3

.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.31.jar:5.3.31]      

        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.31.jar:5.3.31]        

        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-b

eans-5.3.31.jar:5.3.31]

        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:929) ~[spring-

context-5.3.31.jar:5.3.31]

        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) ~[spring-context-5.3.31.jar:5.3.3

1]

        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring

-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) ~[spring-boot-2.7.18.jar:2.7.18]

        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1289) ~[spring-boot-2.7.18.jar:2.7.18]

        at com.comcast.oegress.sqlgateway.IgniteSqlGatewayApplication.main(IgniteSqlGatewayApplication.java:18) ~[classes/:na]

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'lincsService': Unsatisfied dependency expres

sed through field 'igniteClients'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'igniteCli

ents' defined in class path resource [igniteClientConfigBean.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitialize

rError

        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotation

BeanPostProcessor.java:713) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostPro

cessor.java:693) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.

java:408) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) ~[spr

ing-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) ~[spri

ng-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring

-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.31.jar:5.3.

31]

        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3

.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.31.jar:5.3.31]      

        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.31.jar:5.3.31]        

        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.31.jar:5.3.3

1]

        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans

-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5

.3.31.jar:5.3.31]

        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotation

BeanPostProcessor.java:710) ~[spring-beans-5.3.31.jar:5.3.31]

        ... 20 common frames omitted

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'igniteClients' defined in class path resource [ignite

ClientConfigBean.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[s

pring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spri

ng-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring

-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.31.jar:5.3.

31]

        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3

.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.31.jar:5.3.31]      

        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.31.jar:5.3.31]        

        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.31.jar:5.3.3

1]

        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans

-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5

.3.31.jar:5.3.31]

        at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotation

BeanPostProcessor.java:710) ~[spring-beans-5.3.31.jar:5.3.31]

        ... 34 common frames omitted

Caused by: java.lang.ExceptionInInitializerError: null

        at org.apache.ignite.internal.util.IgniteUtils.<clinit>(IgniteUtils.java:899) ~[ignite-core-2.16.0.jar:2.16.0]

        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:806) ~[ignite-core-2.16.0.jar:2.16.0]

        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:678) ~[ignite-core-2.16.0.jar:2.16.0]

        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:647) ~[ignite-core-2.16.0.jar:2.16.0]

        at org.apache.ignite.Ignition.start(Ignition.java:325) ~[ignite-core-2.16.0.jar:2.16.0]

        at com.comcast.oegress.sqlgateway.config.IgniteCacheClientConfig.initIt(IgniteCacheClientConfig.java:47) ~[classes/:na]

        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]

        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]

        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]

        at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1

930) ~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1872) 

~[spring-beans-5.3.31.jar:5.3.31]

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[s

pring-beans-5.3.31.jar:5.3.31]

        ... 44 common frames omitted

Caused by: java.lang.RuntimeException: java.nio.DirectByteBuffer.address field is unavailable.

        at org.apache.ignite.internal.util.GridUnsafe$2.run(GridUnsafe.java:1618) ~[ignite-core-2.16.0.jar:2.16.0]

        at org.apache.ignite.internal.util.GridUnsafe$2.run(GridUnsafe.java:1605) ~[ignite-core-2.16.0.jar:2.16.0]

        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) ~[na:na]

        at org.apache.ignite.internal.util.GridUnsafe.bufferAddressOffset(GridUnsafe.java:1605) ~[ignite-core-2.16.0.jar:2.16.0]

        at org.apache.ignite.internal.util.GridUnsafe.<clinit>(GridUnsafe.java:115) ~[ignite-core-2.16.0.jar:2.16.0]

        ... 57 common frames omitted

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field long java.nio.Buffer.address accessible: module java.base does not "opens

 java.nio" to unnamed module @3d921e20

        at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java
spring-boot tomcat ignite
2个回答
1
投票

看起来以下异常是问题的根本原因:

Caused by: java.lang.reflect.InaccessibleObjectException: 
    Unable to make field long java.nio.Buffer.address accessible: 
    module java.base does not "opens java.nio" to unnamed module @3d921e20

请查看使用 Java 11 或更高版本运行 Ignite 您需要将文章中提到的参数提供给您应用程序的 JVM。


0
投票
<properties>
    <java.version>17</java.version>
    <ignite.version>2.16.0</ignite.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-indexing</artifactId>
        <version>2.16.0</version>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.197</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>2.0.12</version> <!-- Use the latest version available -->
    </dependency>
    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-indexing</artifactId>
        <version>2.16.0</version>
    </dependency>
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.6</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version> <!-- Use the latest version available -->
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-core</artifactId>
        <version>${ignite.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.ignite</groupId>
        <artifactId>ignite-spring</artifactId>
        <version>${ignite.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-oauth2-jose</artifactId>
    </dependency>
    <dependency>
        <groupId>com.nimbusds</groupId>
        <artifactId>nimbus-jose-jwt</artifactId>
        <version>9.39.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-jwt</artifactId>
        <version>1.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>3.0.0</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>3.0.0</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <jvmArguments>
                    --add-opens=java.base/jdk.internal.access=ALL-UNNAMED
                    --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
                    --add-opens=java.base/sun.nio.ch=ALL-UNNAMED
                    --add-opens=java.base/sun.util.calendar=ALL-UNNAMED
                    --add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
                    --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
                    --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
                    --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
                    --add-opens=java.base/java.io=ALL-UNNAMED
                    --add-opens=java.base/java.nio=ALL-UNNAMED
                    --add-opens=java.base/java.net=ALL-UNNAMED
                    --add-opens=java.base/java.util=ALL-UNNAMED
                    --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
                    --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
                    --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
                    --add-opens=java.base/java.lang=ALL-UNNAMED
                    --add-opens=java.base/java.lang.invoke=ALL-UNNAMED
                    --add-opens=java.base/java.math=ALL-UNNAMED
                    --add-opens=java.sql/java.sql=ALL-UNNAMED
                    --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
                    --add-opens=java.base/java.time=ALL-UNNAMED
                    --add-opens=java.base/java.text=ALL-UNNAMED
                    --add-opens=java.management/sun.management=ALL-UNNAMED
                    --add-opens java.desktop/java.awt.font=ALL-UNNAMED
                </jvmArguments>
            </configuration>
        </plugin>
    </plugins>
</build>
© www.soinside.com 2019 - 2024. All rights reserved.