Java Linux版本和jdk版本不兼容

Java Linux版本和jdk版本不兼容,java,spring-boot,Java,Spring Boot,同样的代码,当我在Linux6.0.10上使用maven打包代码时,最终的jar无法成功运行,但是我在Linux8上这样做了,它工作得很好。 jdk版本是1.8 例外情况如下: org.springframework.beans.factory.BeanCreationException:错误 创建名为的bean 'org.springframework.context.event.internalEventListenerProcessor': bean实例化失败;嵌套异常是 java.lan

同样的代码,当我在Linux6.0.10上使用maven打包代码时,最终的jar无法成功运行,但是我在Linux8上这样做了,它工作得很好。 jdk版本是1.8

例外情况如下:

org.springframework.beans.factory.BeanCreationException:错误 创建名为的bean 'org.springframework.context.event.internalEventListenerProcessor': bean实例化失败;嵌套异常是 java.lang.IllegalStateException:未在bean上指定bean类 定义在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceBeanAbstractAutoWireCapableBeanFactory.java:1287 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstanceAbstractAutowireCapableBeanFactory.java:1181 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBeanAbstractAutowireCapableBeanFactory.java:555 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanAbstractAutowireCapableBeanFactory.java:515 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0AbstractBeanFactory.java:320 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonDefaultSingletonBeanRegistry.java:222 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBeanAbstractBeanFactory.java:318 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.beans.factory.support.AbstractBeanFactory.getBeanAbstractBeanFactory.java:204 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.context.support.PostProcessorRegistrationLegate.InvokebeanFactoryPostProcessorPostProcessorRegistrationLegate.java:179 ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.context.support.AbstractApplicationContext.InvokeBeanFactoryPostProcessorAbstractApplicationContext.java:705 ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.context.support.AbstractApplicationContext.refreshAbstractApplicationContext.java:531 ~[spring-context-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refreshServletWebServerApplicationContext.java:142 ~[spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]位于 org.springframework.boot.SpringApplication.refreshSpringApplication.java:775 [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]位于 org.springframework.boot.SpringApplication.refreshContextSpringApplication.java:397 [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]位于 org.springframework.boot.SpringApplication.runSpringApplication.java:316 [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]位于 org.springframework.boot.SpringApplication.runSpringApplication.java:1260 [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]位于 org.springframework.boot.SpringApplication.runSpringApplication.java:1248 [spring-boot-2.1.3.RELEASE.jar!/:2.1.3.RELEASE]位于 cn.j.lithium.LithiumApplication.mainlitiumapplication.java:16 [classes!/:0.0.1-SNAPSHOT]位于 sun.reflect.NativeMethodAccessorImpl.invoke0Native方法 ~(na:1.8.0131]at sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:62 ~(na:1.8.0131]at sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 位于java.lang.reflect.Method.invokeMethod.java:498的~[na:1.8.0131] ~(na:1.8.0131]at org.springframework.boot.loader.MainMethodRunner.runMainMethodRunner.java:48 [锂离子电池-0.0.1-test.jar:0.0.1-SNAPSHOT]at org.springframework.boot.loader.Launcher.launchLauncher.java:87 [锂离子电池-0.0.1-test.jar:0.0.1-SNAPSHOT]at org.springframework.boot.loader.Launcher.launchLauncher.java:50 [锂离子电池-0.0.1-test.jar:0.0.1-SNAPSHOT]at org.springframework.boot.loader.JarLauncher.mainJarLauncher.java:51 [锂-0.0.1-test.jar:0.0.1-SNAPSHOT]由以下原因引起: java.lang.IllegalStateException:未在bean上指定bean类 定义在 org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClassAbstractBeanDefinition.java:407 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE]at org.springframework.beans.factory.support.SimpleInstanceStrategy.InstanceSimpleInstanceStrategy.java:68 ~[spring-beans-5.1.5.RELEASE.jar!/:5.1.5.RELEASE


好的。很难理解你发布的stacktrace到底是怎么回事,很可能你没有完整发布——所以我猜:

Linux是一个应用程序,没有这样的版本,所以我假设你指的是一个多发行版,可能是Debian在google中的第一个链接 Linux 6.0.10。您可以使用console中的cat/etc/*-release进行检查

说它捆绑的Debian6.x是OpenJDK1.6,这对于您正在使用的Spring版本来说太旧了


如果您的发行版不是Debian,请随意使用后一个网站来查找。

是什么让您认为它们不兼容?是否在不同的配置上运行相同的功能?这是哪种配置?还有,什么是Linux 6?相同的代码,在不同的Linux版本操作系统上打包为可执行的jar。有两个jar,一个打包在低Linux版本上但无法运行,一个打包在高Linux版本上运行成功。是的,我使用了Debina 6,我安装了jdk is 1.8,它们是否不兼容,当我编译java文件时?嗯,似乎不是问题所在。。。如果两个应用程序都安装了,您确定使用了运行应用程序的正确JRE吗?我使用了jdk/bin的“java”命令来执行jar,对吗?我已经将java home添加到路径变量try java-version中,以选中export java\u home=/usr/local/jdk1.8.0\u 131/export PATH=$java\u home/bin:$PATH java-version