我正在尝试调试包含大量匿名内部类的Java程序。 每当我在Eclipse的调试模式下启动程序时,我都会收到以下消息:
Unable to install breakpoint in my.own.code.SomeClass1$$FastClassByGuice$$21bac442
Unable to install breakpoint in my.own.code.SomeClass2$$FastClassByGuice$$7880adb3
Unable to install breakpoint in my.own.code.SomeClass2$$FastClassByGuice$$7880adb3
Unable to install breakpoint in my.own.code.SomeClass3$$FastClassByGuice$$9ac6f2a1
Unable to install breakpoint in my.own.code.SomeClass4$$FastClassByGuice$$8ae07d4b
Unable to install breakpoint in my.own.code.SomeClass4$$FastClassByGuice$$9ac6f2a1
Unable to install breakpoint in my.own.code.SomeClass5$$FastClassByGuice$$2ef92190
Unable to install breakpoint in my.own.code.SomeClass6$$FastClassByGuice$$c98d2633
对于我的一个匿名内部类中的每个断点,我得到一条如上所述的消息。 我该如何解决?我需要调试我的匿名内部类。
一些额外的信息:我的程序由一个大型maven项目中的4个maven模块组成。
我使用Oracle的jdk1.7以相同的方式编译它们。
为了确定,我在我的所有模块pom.xml
中添加了以下内容,但没有任何运气:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<debug>true</debug>
</configuration>
</plugin>
</plugins>
</build>
答案 0 :(得分:1)
Guice使用字节码生成AOP(面向方面编程),更快的反射,以及代理循环依赖。
自Guice 2.0版以来,AOP is optional。例如,您可以使用2.0-no_aop
:
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>2.0-no_aop</version>
</dependency>