Unable to instantiate Action, xxAction, defined for 'xxAction_login' in namespace '/'null
com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:316)
java.lang.IllegalArgumentException
at org.springframework.asm.ClassReader.(Unknown Source)
Spring 3.x 內嵌的 org.springframework.asm 僅支持 Java 7 字節碼格式。Java 8 編譯的類文件(主版本號 52)無法被 Spring 3 的 ASM 解析,導致 ClassReader 拋出 IllegalArgumentException。
Spring 4 完全支持 Java 8 字節碼。修改 pom.xml:
<spring.version>4.3.25.RELEASE</spring.version> <!-- 或 5.x -->
注意:Spring 4/5 包結構變化(如 org.springframework.asm 移至獨立模塊),需同步調整導入。
IntelliJ IDEA 設置:
File → Project Structure → ProjectProject SDK 選擇 1.7Project language level 選擇 7Maven 編譯插件同步設置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
asm、cglib、javassist 等字節碼操作庫版本