15

在我基于 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 插件运行项目,选择一个生命周期项目(例如“测试”),调试挂钩。可悲的是,断点永远不会被击中。

可以做些什么来获得调试支持?

4

1 回答 1

8

我没有找到解决办法。因此,我对源代码进行了拆解,并使用普通的 Java 完成了它......悲伤:-(

于 2013-05-27T15:08:58.893 回答