Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法启动Spring应用程序ClassFormatError:类文件被截断_Java_Spring_Java 8 - Fatal编程技术网

Java 无法启动Spring应用程序ClassFormatError:类文件被截断

Java 无法启动Spring应用程序ClassFormatError:类文件被截断,java,spring,java-8,Java,Spring,Java 8,这个错误到底意味着什么?我试着在另一台使用较旧JDK版本的计算机上运行这个,但我没有发现这个问题。我还尝试安装最新的Eclipse版本。这可能是一个JDK bug吗?我的JDK版本是Java 8 1.8.0_171 2021-05-21 15:47:39 [main] ERROR o.s.boot.SpringApplication - Application run failed org.springframework.beans.factory.BeanCreationException:

这个错误到底意味着什么?我试着在另一台使用较旧JDK版本的计算机上运行这个,但我没有发现这个问题。我还尝试安装最新的Eclipse版本。这可能是一个JDK bug吗?我的JDK版本是Java 8 1.8.0_171

2021-05-21 15:47:39 [main] ERROR o.s.boot.SpringApplication - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cxf' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.cxf.bus.spring.SpringBus]: Constructor threw exception; nested exception is java.lang.ClassFormatError: Truncated class file
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1320)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1214)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
    at com.example.application.SomApolloIntegrationLauncher.main(SomApolloIntegrationLauncher.java:48)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.cxf.bus.spring.SpringBus]: Constructor threw exception; nested exception is java.lang.ClassFormatError: Truncated class file
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:216)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1312)
    ... 17 common frames omitted
Caused by: java.lang.ClassFormatError: Truncated class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.apache.cxf.common.util.ReflectionUtil.setAccessible(ReflectionUtil.java:182)
    at org.apache.cxf.common.injection.ResourceInjector.processable(ResourceInjector.java:102)
    at org.apache.cxf.common.injection.ResourceInjector.inject(ResourceInjector.java:120)
    at org.apache.cxf.common.injection.ResourceInjector.inject(ResourceInjector.java:116)
    at org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:227)
    at org.apache.cxf.bus.extension.ExtensionManagerImpl.activateAllByType(ExtensionManagerImpl.java:142)
    at org.apache.cxf.bus.extension.ExtensionManagerBus.<init>(ExtensionManagerBus.java:145)
    at org.apache.cxf.bus.extension.ExtensionManagerBus.<init>(ExtensionManagerBus.java:157)
    at org.apache.cxf.bus.spring.SpringBus.<init>(SpringBus.java:44)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:203)
    ... 19 common frames omitted
2021-05-21 15:47:39[main]错误o.s.boot.SpringApplication-应用程序运行失败
org.springframework.beans.factory.BeanCreationException:创建名为“cxf”的bean时出错,该名称在类路径资源[META-INF/cxf/cxf.xml]中定义:bean实例化失败;嵌套异常为org.springframework.beans.beanstantiationException:未能实例化[org.apache.cxf.bus.spring.SpringBus]:构造函数引发异常;嵌套异常为java.lang.ClassFormatError:类文件被截断
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceBean(AbstractAutowireCapableBeanFactory.java:1320)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1214)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
位于org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:879)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
位于org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
位于org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
位于org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
位于org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
位于com.example.application.somappolIntegrationLauncher.main(somappolIntegrationLauncher.java:48)
原因:org.springframework.beans.beanInstationException:未能实例化[org.apache.cxf.bus.spring.SpringBus]:构造函数引发异常;嵌套异常为java.lang.ClassFormatError:类文件被截断
位于org.springframework.beans.BeanUtils.InstanceClass(BeanUtils.java:216)
位于org.springframework.beans.factory.support.SimpleInstallationStrategy.instantiate(SimpleInstallationStrategy.java:87)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceBean(AbstractAutowireCapableBeanFactory.java:1312)
... 省略17个公共框架
原因:java.lang.ClassFormatError:类文件被截断
位于java.lang.ClassLoader.defineClass1(本机方法)
位于java.lang.ClassLoader.defineClass(ClassLoader.java:763)
位于java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
位于java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
在java.net.URLClassLoader.access$100(URLClassLoader.java:73)
在java.net.URLClassLoader$1.run(URLClassLoader.java:368)
在java.net.URLClassLoader$1.run(URLClassLoader.java:362)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:361)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
位于org.apache.cxf.common.util.ReflectionUtil.setAccessible(ReflectionUtil.java:182)
位于org.apache.cxf.common.injection.ResourceInjector.processable(ResourceInjector.java:102)
位于org.apache.cxf.common.injection.ResourceInjector.injector(ResourceInjector.java:120)
位于org.apache.cxf.common.injection.ResourceInjector.injector(ResourceInjector.java:116)
位于org.apache.cxf.bus.extension.ExtensionManagerImpl.loadAndRegister(ExtensionManagerImpl.java:227)
位于org.apache.cxf.bus.extension.ExtensionManagerImpl.activateAllByType(ExtensionManagerImpl.java:142)
位于org.apache.cxf.bus.extension.ExtensionManagerBus(ExtensionManagerBus.java:145)
位于org.apache.cxf.bus.extension.ExtensionManagerBus(ExtensionManagerBus.java:157)
位于org.apache.cxf.bus.spring.SpringBus.(SpringBus.java:44)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:423)
位于org.springframework.beans.BeanUtils.InstanceClass(BeanUtils.java:203)
... 省略19个公共框架

哪个类文件被截断了?可能是权限问题?

这意味着在类文件中找不到字节码。您能在反编译器中打开类文件吗?

检查您的cxf版本。也许使用以前的cxf版本可以解决问题

我已经在bean实例化时设置了一些断点,它会正确中断。我还反编译了我的