Java 尝试从类访问类$1

Java 尝试从类访问类$1,java,spring,Java,Spring,最近,当我尝试启动spring容器时,遇到一个问题,错误堆栈如下: java.lang.ExceptionInInitializeError 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法中 位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:57 在sun.reflect.DelegatingMethodAccessorImpl.invo

最近,当我尝试启动spring容器时,遇到一个问题,错误堆栈如下:

java.lang.ExceptionInInitializeError 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法中 位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:57 在sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 位于org.junit.runners.model.FrameworkMethod$1.runReflectVeCallFrameworkMethod.java:47 位于org.junit.internal.runners.model.ReflectiveCallable.runReflectiveCallable.java:12 位于org.junit.runners.model.FrameworkMethod.invokeeexplosivelyframeworkmethod.java:44 位于org.junit.internal.runners.statements.RunBefores.evaluateRunBefores.java:24 位于org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluaterUnbeforetClassCallbacks.java:61 位于org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.EvaluaterUnterTestClassCallbacks.java:71 位于org.junit.runners.ParentRunner.runParentRunner.java:309 位于org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runSpringJUnit4ClassRunner.java:174 位于org.junit.runner.JUnitCore.runJUnitCore.java:160 位于com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgsJUnit4IdeaTestRunner.java:78 位于com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStartJUnitStarter.java:212 位于com.intellij.rt.execution.junit.JUnitStarter.mainJUnitStarter.java:68 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法中 位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:57 位于com.intellij.rt.execution.application.AppMain.mainAppMain.java:140 原因:org.springframework.beans.factory.BeanCreationException:创建名为“tair_perf”的bean时出错,该bean在类路径资源[tair.xml]中定义:实例化失败;嵌套异常为org.springframework.beans.BeanInstantiationException:无法实例化bean类[com.taobao.tair.impl.mc.MultiClusterTairManager]:构造函数引发异常;嵌套异常为java.lang.IllegalAccessError:试图从com.taobao.tair.impl.mc.MultiClusterTairManager类访问com.taobao.tair.impl.mc.MultiClusterTairManager$1 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceBeanAbstractAutoWireCapableBeanFactory.java:1037 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstanceAbstractAutowireCapableBeanFactory.java:983 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBeanAbstractAutowireCapableBeanFactory.java:487 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanAbstractAutowireCapableBeanFactory.java:458 位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjectAbstractBeanFactory.java:296 位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingletonDefaultSingletonBeanRegistry.java:223 位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBeanAbstractBeanFactory.java:293 位于org.springframework.beans.factory.support.AbstractBeanFactory.getBeanAbstractBeanFactory.java:194 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleTonsDefaultListableBeanFactory.java:628 位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitializationAbstractApplicationContext.java:932 位于org.springframework.context.support.AbstractApplicationContext.refreshAbstractApplicationContext.java:479 位于org.springframework.context.support.ClassPathXmlApplicationContext.ClassPathXmlApplicationContext.java:139 位于org.springframework.context.support.ClassPathXmlApplicationContext.ClassPathXmlApplicationContext.java:83 在com.taobao.testcase.http。百川.BaiChuanDo.TairRank.TairRank.java:22 ... 还有21个 原因:org.springframework.beans.beans实例化异常:无法实例化bean类[com.taobao.tair.impl.mc.MultiClusterTairManager]:构造函数引发异常;嵌套异常为java.lang.IllegalAccessError:试图从com.taobao.tair.impl.mc.MultiClusterTairManager类访问com.taobao.tair.impl.mc.MultiClusterTairManager$1 位于org.springframework.beans.BeanUtils.InstanceClassBeanutils.java:163 位于org.springframework.beans.factory.support.SimpleInstanceStrategy.InstanceSimpleInstanceStrategy.java:87 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceBeanAbstractAutoWireCapableBeanFactory.java:1030 ... 34多 原因:java.lang.IllegalAccessError:试图从com.taobao.tair.impl.mc.MultiClusterTairManager类访问com.taobao.tair.impl.mc.MultiClusterTairManager$1 在com.taobao.tair.impl.mc.MultiClusterTairManager.MultiClusterTairManager.java:47 在sun.reflect.NativeConstructorAccessorImpl.newInstance0Native方法中 位于sun.reflect.NativeConstructorAccessorImpl.newInstanceNativeConstructorAccessorImpl.java:57 在sun.reflect.DelegatingConstructorAccessorImpl.newInstanceDelegatingConstructorAccessorImpl.java:45 位于java.lang.reflect.Constructor.newInstanceConstructor.java:526 位于org.springframework.beans.BeanUtils.InstanceClassBeanutils.java:148 ... 36多

xml文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="tair_perf" class="xxxxx"
          init-method="init">
        <property name="configID">
            <value>xxxx</value>
    </bean>
</beans>
如果您想要全局访问,那么构造函数和方法应该是公共的。
我确信您对此类MultiClusterTairManager的可见性存在问题,因为您遇到了以下错误:java.lang.IllegalAccessError

如果您发布类com.taobao.tair.impl.mc.MultiClusterTairManager或至少是构造函数,这将有所帮助。你有嵌套类吗?那个类的签名是什么?好的,但它似乎只有默认构造函数,没有参数。Spring正在尝试创建bean“tair_perf”。错误是看起来像嵌套类的IllegaAccessError。如果你没有提供这两个方面的信息,我看不出我们能提供什么帮助。你能发布init方法吗?错误来自那里。请尝试发布bean类:MultiClusterTairManager
public class A {
    public static ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("tair.xml");//this where the problem happens.}