使用Tomcat,Spring和Weaver(BcelClassWeaver)启动时出现异常

时间:2012-06-29 09:19:56

标签: spring tomcat spring-aop

从今天起我面临着一个奇怪的问题。当我在我的tomcat(7.0.28)中启动我的应用程序时,我得到了如下所示的例外情况。昨天我关闭计算机之前每个人都工作正常,我在部署和启动应用程序时没有任何问题)。 为了编织,我将spring-instrument-tomcat-3.1.1.RELEASE.jar放入我的tomcat的lib文件夹中。如前所述,我过去从未遇到任何问题,一切正常。我没有更新任何组件,如我的jdk(1.7),tomcat或eclipse。

我尝试删除webapp文件夹中的工作文件夹和应用程序,尝试删除缓存并进行了多次重新部署;一切都没有成功。我试过tomcat独立和eclipse wtp(我通常使用的);没有不同。 有没有人知道我能尝试什么?

这是我在tomcat启动时获得的一小部分堆栈跟踪(另一个堆栈跟踪:http://pastebin.com/8DZ4dh2Q):

Jun 29, 2012 10:55:16 AM org.aspectj.weaver.tools.Jdk14Trace info
INFO: Dumping to /home/xxx/./ajcore.20120629.105516.091.txt
[TomcatInstrumentableClassLoader@77b7a0] abort trouble in: 
public class org.springframework.expression.spel.support.ReflectivePropertyAccessor extends java.lang.Object implements org.springframework.expression.PropertyAccessor:
  protected final java.util.Map readerCache [Signature(Ljava/util/Map<Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey;Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair;>;)]
  protected final java.util.Map writerCache [Signature(Ljava/util/Map<Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey;Ljava/lang/reflect/Member;>;)]
  protected final java.util.Map typeDescriptorCache [Signature(Ljava/util/Map<Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey;Lorg/springframework/core/convert/TypeDescriptor;>;)]
  public void <init>():
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 46)
                    INVOKESPECIAL java.lang.Object.<init> ()V
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 48)
                    NEW java.util.concurrent.ConcurrentHashMap
                    DUP
                    INVOKESPECIAL java.util.concurrent.ConcurrentHashMap.<init> ()V
                    PUTFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.readerCache Ljava/util/Map;
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 50)
                    NEW java.util.concurrent.ConcurrentHashMap
                    DUP
                    INVOKESPECIAL java.util.concurrent.ConcurrentHashMap.<init> ()V
                    PUTFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.writerCache Ljava/util/Map;
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 52)
                    NEW java.util.concurrent.ConcurrentHashMap
                    DUP
                    INVOKESPECIAL java.util.concurrent.ConcurrentHashMap.<init> ()V
                    PUTFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.typeDescriptorCache Ljava/util/Map;
                    RETURN   (line 46)
  end public void <init>()

  public Class[] getSpecificTargetClasses():
                    ACONST_NULL   (line 59)
                    ARETURN
  end public Class[] getSpecificTargetClasses()

  public boolean canRead(org.springframework.expression.EvaluationContext, Object, String) throws org.springframework.expression.AccessException:
                    ALOAD_2     // Ljava/lang/Object; target   (line 63)
                    IFNONNULL L0
                    ICONST_0   (line 64)
                    IRETURN
                L0: ALOAD_2     // Ljava/lang/Object; target   (line 66)
                    INSTANCEOF java.lang.Class
                    IFEQ L1
                    ALOAD_2     // Ljava/lang/Object; target
                    CHECKCAST java.lang.Class
                    GOTO L2
                L1: ALOAD_2     // Ljava/lang/Object; target
                    INVOKEVIRTUAL java.lang.Object.getClass ()Ljava/lang/Class;
                L2: ASTORE 4
                    ALOAD 4     // Ljava/lang/Class; type   (line 67)
                    INVOKEVIRTUAL java.lang.Class.isArray ()Z
                    IFEQ L3
                    ALOAD_3     // Ljava/lang/String; name
                    LDC "length"
                    INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
                    IFEQ L3
                    ICONST_1   (line 68)
                    IRETURN
                L3: NEW org.springframework.expression.spel.support.ReflectivePropertyAccessor$CacheKey   (line 70)
                    DUP
                    ALOAD 4     // Ljava/lang/Class; type
                    ALOAD_3     // Ljava/lang/String; name
                    INVOKESPECIAL org.springframework.expression.spel.support.ReflectivePropertyAccessor$CacheKey.<init> (Ljava/lang/Class;Ljava/lang/String;)V
                    ASTORE 5
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 71)
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.readerCache Ljava/util/Map;
                    ALOAD 5     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey; cacheKey
                    INVOKEINTERFACE java.util.Map.containsKey (Ljava/lang/Object;)Z
                    IFEQ L4
                    ICONST_1   (line 72)
                    IRETURN
                L4: ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 74)
                    ALOAD_3     // Ljava/lang/String; name
                    ALOAD 4     // Ljava/lang/Class; type
                    ALOAD_2     // Ljava/lang/Object; target
                    INSTANCEOF java.lang.Class
                    INVOKEVIRTUAL org.springframework.expression.spel.support.ReflectivePropertyAccessor.findGetterForProperty (Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Method;
                    ASTORE 6
                    ALOAD 6     // Ljava/lang/reflect/Method; method   (line 75)
                    IFNULL L5
                    NEW org.springframework.core.convert.Property   (line 78)
                    DUP
                    ALOAD 4     // Ljava/lang/Class; type
                    ALOAD 6     // Ljava/lang/reflect/Method; method
                    ACONST_NULL
                    INVOKESPECIAL org.springframework.core.convert.Property.<init> (Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
                    ASTORE 7
                    NEW org.springframework.core.convert.TypeDescriptor   (line 79)
                    DUP
                    ALOAD 7     // Lorg/springframework/core/convert/Property; property
                    INVOKESPECIAL org.springframework.core.convert.TypeDescriptor.<init> (Lorg/springframework/core/convert/Property;)V
                    ASTORE 8
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 80)
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.readerCache Ljava/util/Map;
                    ALOAD 5     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey; cacheKey
                    NEW org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair
                    DUP
                    ALOAD 6     // Ljava/lang/reflect/Method; method
                    ALOAD 8     // Lorg/springframework/core/convert/TypeDescriptor; typeDescriptor
                    INVOKESPECIAL org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.<init> (Ljava/lang/reflect/Member;Lorg/springframework/core/convert/TypeDescriptor;)V
                    INVOKEINTERFACE java.util.Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                    POP
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 81)
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.typeDescriptorCache Ljava/util/Map;
                    ALOAD 5     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey; cacheKey
                    ALOAD 8     // Lorg/springframework/core/convert/TypeDescriptor; typeDescriptor
                    INVOKEINTERFACE java.util.Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                    POP
                    ICONST_1   (line 82)
                    IRETURN
                L5: ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 85)
                    ALOAD_3     // Ljava/lang/String; name
                    ALOAD 4     // Ljava/lang/Class; type
                    ALOAD_2     // Ljava/lang/Object; target
                    INSTANCEOF java.lang.Class
                    INVOKEVIRTUAL org.springframework.expression.spel.support.ReflectivePropertyAccessor.findField (Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Field;
                    ASTORE 7
                    ALOAD 7     // Ljava/lang/reflect/Field; field   (line 86)
                    IFNULL L6
                    NEW org.springframework.core.convert.TypeDescriptor   (line 87)
                    DUP
                    ALOAD 7     // Ljava/lang/reflect/Field; field
                    INVOKESPECIAL org.springframework.core.convert.TypeDescriptor.<init> (Ljava/lang/reflect/Field;)V
                    ASTORE 8
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 88)
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.readerCache Ljava/util/Map;
                    ALOAD 5     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey; cacheKey
                    NEW org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair
                    DUP
                    ALOAD 7     // Ljava/lang/reflect/Field; field
                    ALOAD 8     // Lorg/springframework/core/convert/TypeDescriptor; typeDescriptor
                    INVOKESPECIAL org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.<init> (Ljava/lang/reflect/Member;Lorg/springframework/core/convert/TypeDescriptor;)V
                    INVOKEINTERFACE java.util.Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                    POP
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 89)
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.typeDescriptorCache Ljava/util/Map;
                    ALOAD 5     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey; cacheKey
                    ALOAD 8     // Lorg/springframework/core/convert/TypeDescriptor; typeDescriptor
                    INVOKEINTERFACE java.util.Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                    POP
                    ICONST_1   (line 90)
                    IRETURN
                L6: ICONST_0   (line 93)
                    IRETURN
  end public boolean canRead(org.springframework.expression.EvaluationContext, Object, String) throws org.springframework.expression.AccessException

  public org.springframework.expression.TypedValue read(org.springframework.expression.EvaluationContext, Object, String) throws org.springframework.expression.AccessException:
                    ALOAD_2     // Ljava/lang/Object; target   (line 97)
                    IFNONNULL L0
                    NEW org.springframework.expression.AccessException   (line 98)
                    DUP
                    LDC "Cannot read property of null target"
                    INVOKESPECIAL org.springframework.expression.AccessException.<init> (Ljava/lang/String;)V
                    ATHROW
                L0: ALOAD_2     // Ljava/lang/Object; target   (line 100)
                    INSTANCEOF java.lang.Class
                    IFEQ L1
                    ALOAD_2     // Ljava/lang/Object; target
                    CHECKCAST java.lang.Class
                    GOTO L2
                L1: ALOAD_2     // Ljava/lang/Object; target
                    INVOKEVIRTUAL java.lang.Object.getClass ()Ljava/lang/Class;
                L2: ASTORE 4
                    ALOAD 4     // Ljava/lang/Class; type   (line 102)
                    INVOKEVIRTUAL java.lang.Class.isArray ()Z
                    IFEQ L4
                    ALOAD_3     // Ljava/lang/String; name
                    LDC "length"
                    INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
                    IFEQ L4
                    ALOAD_2     // Ljava/lang/Object; target   (line 103)
                    INSTANCEOF java.lang.Class
                    IFEQ L3
                    NEW org.springframework.expression.AccessException   (line 104)
                    DUP
                    LDC "Cannot access length on array class itself"
                    INVOKESPECIAL org.springframework.expression.AccessException.<init> (Ljava/lang/String;)V
                    ATHROW
                L3: NEW org.springframework.expression.TypedValue   (line 106)
                    DUP
                    ALOAD_2     // Ljava/lang/Object; target
                    INVOKESTATIC java.lang.reflect.Array.getLength (Ljava/lang/Object;)I
                    INVOKESTATIC java.lang.Integer.valueOf (I)Ljava/lang/Integer;
                    INVOKESPECIAL org.springframework.expression.TypedValue.<init> (Ljava/lang/Object;)V
                    ARETURN
                L4: NEW org.springframework.expression.spel.support.ReflectivePropertyAccessor$CacheKey   (line 109)
                    DUP
                    ALOAD 4     // Ljava/lang/Class; type
                    ALOAD_3     // Ljava/lang/String; name
                    INVOKESPECIAL org.springframework.expression.spel.support.ReflectivePropertyAccessor$CacheKey.<init> (Ljava/lang/Class;Ljava/lang/String;)V
                    ASTORE 5
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 110)
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.readerCache Ljava/util/Map;
                    ALOAD 5     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey; cacheKey
                    INVOKEINTERFACE java.util.Map.get (Ljava/lang/Object;)Ljava/lang/Object;
                    CHECKCAST org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair
                    ASTORE 6
                    ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker   (line 112)
                    IFNULL L5
                    ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.member Ljava/lang/reflect/Member;
                    INSTANCEOF java.lang.reflect.Method
                    IFEQ L9
                L5: ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker   (line 113)
                    IFNULL L6
                    ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.member Ljava/lang/reflect/Member;
                    GOTO L7
                L6: ACONST_NULL
                L7: CHECKCAST java.lang.reflect.Method
                    ASTORE 7
                    ALOAD 7     // Ljava/lang/reflect/Method; method   (line 114)
                    IFNONNULL L8
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 115)
                    ALOAD_3     // Ljava/lang/String; name
                    ALOAD 4     // Ljava/lang/Class; type
                    ALOAD_2     // Ljava/lang/Object; target
                    INSTANCEOF java.lang.Class
                    INVOKEVIRTUAL org.springframework.expression.spel.support.ReflectivePropertyAccessor.findGetterForProperty (Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Method;
                    ASTORE 7     // Ljava/lang/reflect/Method; method
                    ALOAD 7     // Ljava/lang/reflect/Method; method   (line 116)
                    IFNULL L8
                    NEW org.springframework.core.convert.Property   (line 120)
                    DUP
                    ALOAD 4     // Ljava/lang/Class; type
                    ALOAD 7     // Ljava/lang/reflect/Method; method
                    ACONST_NULL
                    INVOKESPECIAL org.springframework.core.convert.Property.<init> (Ljava/lang/Class;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
                    ASTORE 8
                    NEW org.springframework.core.convert.TypeDescriptor   (line 121)
                    DUP
                    ALOAD 8     // Lorg/springframework/core/convert/Property; property
                    INVOKESPECIAL org.springframework.core.convert.TypeDescriptor.<init> (Lorg/springframework/core/convert/Property;)V
                    ASTORE 9
                    NEW org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair   (line 122)
                    DUP
                    ALOAD 7     // Ljava/lang/reflect/Method; method
                    ALOAD 9     // Lorg/springframework/core/convert/TypeDescriptor; typeDescriptor
                    INVOKESPECIAL org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.<init> (Ljava/lang/reflect/Member;Lorg/springframework/core/convert/TypeDescriptor;)V
                    ASTORE 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 123)
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.readerCache Ljava/util/Map;
                    ALOAD 5     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey; cacheKey
                    ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
                    INVOKEINTERFACE java.util.Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                    POP
                L8: ALOAD 7     // Ljava/lang/reflect/Method; method   (line 126)
                    IFNULL L9
    catch java.lang.Exception -> E0
    |               ALOAD 7     // Ljava/lang/reflect/Method; method   (line 128)
    |               INVOKESTATIC org.springframework.util.ReflectionUtils.makeAccessible (Ljava/lang/reflect/Method;)V
    |               ALOAD 7     // Ljava/lang/reflect/Method; method   (line 129)
    |               ALOAD_2     // Ljava/lang/Object; target
    |               ICONST_0
    |               ANEWARRAY java.lang.Object
    |               INVOKEVIRTUAL java.lang.reflect.Method.invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    |               ASTORE 8
    |               NEW org.springframework.expression.TypedValue   (line 130)
    |               DUP
    |               ALOAD 8     // Ljava/lang/Object; value
    |               ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
    |               GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.typeDescriptor Lorg/springframework/core/convert/TypeDescriptor;
    |               ALOAD 8     // Ljava/lang/Object; value
    |               INVOKEVIRTUAL org.springframework.core.convert.TypeDescriptor.narrow (Ljava/lang/Object;)Lorg/springframework/core/convert/TypeDescriptor;
    |               INVOKESPECIAL org.springframework.expression.TypedValue.<init> (Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
    catch java.lang.Exception -> E0
                    ARETURN
                E0: ASTORE 8   (line 132)
                    NEW org.springframework.expression.AccessException   (line 133)
                    DUP
                    NEW java.lang.StringBuilder
                    DUP
                    LDC "Unable to access property '"
                    INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
                    ALOAD_3     // Ljava/lang/String; name
                    INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
                    LDC "' through getter"
                    INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
                    INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
                    ALOAD 8     // Ljava/lang/Exception; ex
                    INVOKESPECIAL org.springframework.expression.AccessException.<init> (Ljava/lang/String;Ljava/lang/Exception;)V
                    ATHROW
                L9: ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker   (line 138)
                    IFNULL L10
                    ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.member Ljava/lang/reflect/Member;
                    INSTANCEOF java.lang.reflect.Field
                    IFEQ L14
               L10: ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker   (line 139)
                    IFNONNULL L11
                    ACONST_NULL
                    GOTO L12
               L11: ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.member Ljava/lang/reflect/Member;
               L12: CHECKCAST java.lang.reflect.Field
                    ASTORE 7
                    ALOAD 7     // Ljava/lang/reflect/Field; field   (line 140)
                    IFNONNULL L13
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 141)
                    ALOAD_3     // Ljava/lang/String; name
                    ALOAD 4     // Ljava/lang/Class; type
                    ALOAD_2     // Ljava/lang/Object; target
                    INSTANCEOF java.lang.Class
                    INVOKEVIRTUAL org.springframework.expression.spel.support.ReflectivePropertyAccessor.findField (Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/reflect/Field;
                    ASTORE 7     // Ljava/lang/reflect/Field; field
                    ALOAD 7     // Ljava/lang/reflect/Field; field   (line 142)
                    IFNULL L13
                    NEW org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair   (line 143)
                    DUP
                    ALOAD 7     // Ljava/lang/reflect/Field; field
                    NEW org.springframework.core.convert.TypeDescriptor
                    DUP
                    ALOAD 7     // Ljava/lang/reflect/Field; field
                    INVOKESPECIAL org.springframework.core.convert.TypeDescriptor.<init> (Ljava/lang/reflect/Field;)V
                    INVOKESPECIAL org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.<init> (Ljava/lang/reflect/Member;Lorg/springframework/core/convert/TypeDescriptor;)V
                    ASTORE 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
                    ALOAD_0     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor; this   (line 144)
                    GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor.readerCache Ljava/util/Map;
                    ALOAD 5     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$CacheKey; cacheKey
                    ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
                    INVOKEINTERFACE java.util.Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                    POP
               L13: ALOAD 7     // Ljava/lang/reflect/Field; field   (line 147)
                    IFNULL L14
    catch java.lang.Exception -> E1
    |               ALOAD 7     // Ljava/lang/reflect/Field; field   (line 149)
    |               INVOKESTATIC org.springframework.util.ReflectionUtils.makeAccessible (Ljava/lang/reflect/Field;)V
    |               ALOAD 7     // Ljava/lang/reflect/Field; field   (line 150)
    |               ALOAD_2     // Ljava/lang/Object; target
    |               INVOKEVIRTUAL java.lang.reflect.Field.get (Ljava/lang/Object;)Ljava/lang/Object;
    |               ASTORE 8
    |               NEW org.springframework.expression.TypedValue   (line 151)
    |               DUP
    |               ALOAD 8     // Ljava/lang/Object; value
    |               ALOAD 6     // Lorg/springframework/expression/spel/support/ReflectivePropertyAccessor$InvokerPair; invoker
    |               GETFIELD org.springframework.expression.spel.support.ReflectivePropertyAccessor$InvokerPair.typeDescriptor Lorg/springframework/core/convert/TypeDescriptor;
    |               ALOAD 8     // Ljava/lang/Object; value
    |               INVOKEVIRTUAL org.springframework.core.convert.TypeDescriptor.narrow (Ljava/lang/Object;)Lorg/springframework/core/convert/TypeDescriptor;
    |               INVOKESPECIAL org.springframework.expression.TypedValue.<init> (Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
    catch java.lang.Exception -> E1
                    ARETURN
                E1: ASTORE 8   (line 153)
                    NEW org.springframework.expression.AccessException   (line 154)
                    DUP
                    NEW java.lang.StringBuilder
                    DUP
                    LDC "Unable to access field: "
                    INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
                    ALOAD_3     // Ljava/lang/String; name
                    INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
                    INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
                    ALOAD 8     // Ljava/lang/Exception; ex
                    INVOKESPECIAL org.springframework.expression.AccessException.<init> (Ljava/lang/String;Ljava/lang/Exception;)V
                    ATHROW
               L14: NEW org.springframework.expression.AccessException   (line 159)
                    DUP
                    NEW java.lang.StringBuilder
                    DUP
                    LDC "Neither getter nor field found for property '"
                    INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
                    ALOAD_3     // Ljava/lang/

1 个答案:

答案 0 :(得分:1)

埋藏在完整堆栈跟踪的深处(不是你问题中截断的版本!!!)是这样的:

java.lang.ClassFormatError:org / aspectj / weaver / bcel / BcelClassWeaver         在org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1694)         在org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1638)         在org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1401)         在org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1187)         在org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:472)         在org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:323)         在org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:99)         at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)         at org.springframework.context.weaving.AspectJWeavingEnabler $ AspectJClassBypassingClassFileTransformer.transform(AspectJWeavingEnabler.java:104)         在org.springframework.instrument.classloading.WeavingTransformer.transformIfNecessary(WeavingTransformer.java:95)

我不完全确定这意味着什么,但我怀疑这是问题的根源。

这可能意味着:

  • BCEL检测到某个正在尝试阅读/处理的课程出现问题,或者
  • JVM发现BcelClassWeaver的类文件以某种方式被破坏,或者
  • 别的。

希望这有帮助。