英文:
(ClassGenException) Couldn't find target for branch: ifeq[153]
问题
Aspectj版本:1.8.13
我有一个项目,我正在尝试通过Maven插件将其通过切面编译器运行,但是遇到以下错误。
有没有指针来调试此问题或找到确切的问题所在?错误消息中找不到分支不会告诉行号,它只会打印操作码。
MVN
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>${aspectj.maven.plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>com.mycomapny</groupId>
<artifactId>core</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${org.springframework.version}</version>
</dependency>
</dependencies>
<configuration>
<source>${JAVA_SOURCE_VERSION}</source>
<target>${JAVA_TARGET_VERSION}</target>
<complianceLevel>${JAVA_TARGET_VERSION}</complianceLevel>
<encoding>UTF-8</encoding>
<verbose>true</verbose>
<Xlint>ignore</Xlint>
<weaveDirectories>
<weaveDirectory>${project.build.directory}/unwoven-classes</weaveDirectory>
</weaveDirectories>
<sources>
<source/>
</sources>
<testSources>
<source/>
</testSources>
<forceAjcCompile>true</forceAjcCompile>
<excludes>
<exclude>**/aspects/**</exclude>
</excludes>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
<aspectLibrary>
<groupId>com.mycompany</groupId>
<artifactId>common</artifactId>
</aspectLibrary>
</aspectLibraries>
<showWeaveInfo>true</showWeaveInfo>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
[错误] com.mycompany.targetclass -- (ClassGenException) 无法找到分支的目标: ifeq[153](size3) -> null
[错误] 无法找到分支的目标: ifeq[153](size3) -> null
[错误] org.aspectj.apache.bcel.generic.ClassGenException: 无法找到分支的目标: ifeq[153](size3) -> null
[错误] at org.aspectj.apache.bcel.generic.InstructionList.<init>(InstructionList.java:223)
[错误] at org.aspectj.apache.bcel.generic.MethodGen.<init>(MethodGen.java:212)
[错误] at org.aspectj.weaver.bcel.LazyMethodGen.initialize(LazyMethodGen.java:372)
[错误] at org.aspectj.weaver.bcel.LazyMethodGen.markAsChanged(LazyMethodGen.java:540)
[错误] at org.aspectj.weaver.bcel.LazyMethodGen.getBody(LazyMethodGen.java:929)
[错误] at org.aspectj.weaver.bcel.BcelShadow.init(BcelShadow.java:668)
[错误] at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2693)
[错误] at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480)
[错误] at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100)
[错误] at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1692)
[错误] at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1636)
[错误] at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1401)
[错误] at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1183)
[错误] at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:514)
[错误] at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterCompiling(AjPipeliningCompilerAdapter.java:375)
[错误] at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:78)
由 org.aspectj.apache.bcel.generic.ClassGenException 引起:无法找到分支的目标: ifeq[153](size3) -> null
at org.aspectj.apache.bcel.generic.InstructionList.<init>(InstructionList.java:223)
at org.aspectj.apache.bcel.generic.MethodGen.<init>(MethodGen.java:212)
at org.aspectj.weaver.bcel.LazyMethodGen.initialize(LazyMethodGen.java:372)
at org.aspectj.weaver.bcel.LazyMethodGen.getReturnType(LazyMethodGen.java:920)
at org.aspectj.weaver.bcel.LazyMethodGen.toShortString(LazyMethodGen.java:562)
at org.aspectj.weaver.bcel.LazyMethodGen.print(LazyMethodGen.java:603)
at org.aspectj.weaver.bcel.LazyClassGen.printOne(LazyClassGen.java:860)
at org.aspectj.weaver.bcel.LazyClassGen.print(LazyClassGen.java:819)
at org.aspectj.weaver.bcel.LazyClassGen.toLongString(LazyClassGen.java:807)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1711)
英文:
Aspectj version : 1.8.13
I have a project which I am trying to run through aspect compiler through maven plug-in but getting following error.
Any pointers to debug this issue or find the exact issue where it lies? . The error couldn't find the branch does not tell the line no. It justs print the opcode.
MVN
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>${aspectj.maven.plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${aspectj.version}</version>
</dependency>
<dependency>
<groupId>com.mycomapny</groupId>
<artifactId>core</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${org.springframework.version}</version>
</dependency>
</dependencies>
<configuration>
<source>${JAVA_SOURCE_VERSION}</source>
<target>${JAVA_TARGET_VERSION}</target>
<complianceLevel>${JAVA_TARGET_VERSION}</complianceLevel>
<encoding>UTF-8</encoding>
<verbose>true</verbose>
<Xlint>ignore</Xlint>
<weaveDirectories>
<weaveDirectory>${project.build.directory}/unwoven-classes</weaveDirectory>
</weaveDirectories>
<sources>
<source/>
</sources>
<testSources>
<source/>
</testSources>
<forceAjcCompile>true</forceAjcCompile>
<excludes>
<exclude>**/aspects/**</exclude>
</excludes>
<aspectLibraries>
<aspectLibrary>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</aspectLibrary>
<aspectLibrary>
<groupId>com.mycompany</groupId>
<artifactId>common</artifactId>
</aspectLibrary>
</aspectLibraries>
<showWeaveInfo>true</showWeaveInfo>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
[ERROR] com.mycompany.targetclass -- (ClassGenException) Couldn't find target for branch: ifeq[153](size3) -> null
[ERROR] Couldn't find target for branch: ifeq[153](size3) -> null
[ERROR] org.aspectj.apache.bcel.generic.ClassGenException: Couldn't find target for branch: ifeq[153](size3) -> null
[ERROR] at org.aspectj.apache.bcel.generic.InstructionList.<init>(InstructionList.java:223)
[ERROR] at org.aspectj.apache.bcel.generic.MethodGen.<init>(MethodGen.java:212)
[ERROR] at org.aspectj.weaver.bcel.LazyMethodGen.initialize(LazyMethodGen.java:372)
[ERROR] at org.aspectj.weaver.bcel.LazyMethodGen.markAsChanged(LazyMethodGen.java:540)
[ERROR] at org.aspectj.weaver.bcel.LazyMethodGen.getBody(LazyMethodGen.java:929)
[ERROR] at org.aspectj.weaver.bcel.BcelShadow.init(BcelShadow.java:668)
[ERROR] at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2693)
[ERROR] at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480)
[ERROR] at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100)
[ERROR] at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1692)
[ERROR] at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1636)
[ERROR] at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1401)
[ERROR] at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1183)
[ERROR] at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:514)
[ERROR] at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterCompiling(AjPipeliningCompilerAdapter.java:375)
[ERROR] at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:78)
Caused by: org.aspectj.apache.bcel.generic.ClassGenException: Couldn't find target for branch: ifeq[153](size3) -> null
at org.aspectj.apache.bcel.generic.InstructionList.<init>(InstructionList.java:223)
at org.aspectj.apache.bcel.generic.MethodGen.<init>(MethodGen.java:212)
at org.aspectj.weaver.bcel.LazyMethodGen.initialize(LazyMethodGen.java:372)
at org.aspectj.weaver.bcel.LazyMethodGen.getReturnType(LazyMethodGen.java:920)
at org.aspectj.weaver.bcel.LazyMethodGen.toShortString(LazyMethodGen.java:562)
at org.aspectj.weaver.bcel.LazyMethodGen.print(LazyMethodGen.java:603)
at org.aspectj.weaver.bcel.LazyClassGen.printOne(LazyClassGen.java:860)
at org.aspectj.weaver.bcel.LazyClassGen.print(LazyClassGen.java:819)
at org.aspectj.weaver.bcel.LazyClassGen.toLongString(LazyClassGen.java:807)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1711)
专注分享java语言的经验与见解,让所有开发者获益!
评论