【发布时间】:2013-01-05 15:37:59
【问题描述】:
在我基于 Maven 的项目中,我使用 Lombok 来保存一些样板代码。此外,我正在使用一个 Spring 数据库,它使用 AspectJ 来完成任务。遗憾的是,Lombok 和 AspectJ 在开箱即用时不能很好地协同工作,因为 AspectJ 编译器会重新编译 Java 文件。所以Lombok实现的Getter和Setter就丢失了。
我决定使用 Lombok Maven 插件对我的代码进行 delombok。然后将此代码传递给 AspectJ。这是基本流程:
Sources in /src/main/java or /src/test/java
=> [Delombok]
=> Delomboked sources in /target/generated-sources/delombok or /target/generated-test-sources/delombok
=> [AspectJ]
=> Compiled results in /target/classes or /target/test-classes
但是,这种方法的一个缺点是:我似乎失去了使用 IntelliJ 的调试支持。 在 /src/main/java 或 /target/generated-sources/delombok Java 文件中设置的断点永远不会被命中。我使用 IntelliJ Maven 插件运行项目,选择生命周期项目(例如“测试”)和调试挂钩。遗憾的是,断点永远不会被命中。
可以做些什么来获得调试支持?
【问题讨论】:
-
我没有找到解决方案。因此,我对源代码进行了拆解,并使用普通的 Java 完成了它......伤心:-(
标签: debugging maven intellij-idea aspectj lombok