如何在Lombok中调试自定义注释?

时间:2015-06-28 22:10:05

标签: lombok

我试图通过创建自己的注释来扩展Lombok

我设法让ant创建了LombokizedEclipse.launch,并且我写了beforeafter个文件。

ant test对我的注释失败(这是预期的),现在我想调试我的Handle*类。

我在Mac上,eclipse Luna 4.4和java 1.8 update 45。

我该怎么做?如果您需要更多信息,请与我们联系。

提前致谢!

2 个答案:

答案 0 :(得分:7)

我现在明白Lombok可以通过两种不同的方式进行调试:

  1. 通过Lombok JUnit测试进行调试(感谢Roel Spilker
  2. 在第一个实例启动的第二个Eclipse实例中进行调试
  3. 克隆lombok存储库后,这些是我为实现这两种方法而采取的步骤:

    通过Lombok JUnit测试进行调试(感谢Roel Spilker

    1. $ ant eclipse
    2. 在Eclipse中导入(现有)项目
    3. $ ant setupJavaOracle8TestEnvironment
    4. $ ant dist
    5. $ java -jar dist/lombok.jar
    6. 确保在Eclipse中配置的JDK8名为JavaSE-1.8。去Eclipse - >偏好 - > Java - >已安装的JRE进行更改
    7. 刷新Eclipse项目(只需按F5
    8. 右键单击新创建的启动配置RunLombokTests OracleJDK8.launch和运行/调试
    9. RunAllTests已执行:Runs: 455/454 (1 skipped), Errors: 0, Failures: 89
    10. $ ant test成功运行RunAllTestsTests run: 455, Failures: 0, Errors: 0, Skipped: 1
    11. 注意:在例如设置断点HandleGetter.handle有效 我不知道为什么在Eclipse中(步骤9)89次测试在TestWithEcj中失败,尽管剩余的54次(和1次跳过)通过。
    12. 在第一个实例

      启动的第二个Eclipse实例中进行调试
      1. $ ant dist
      2. $ ant eclipseForDebugging
      3. 输入您的eclipse安装(提示:它是目录plugins的父文件夹)
      4. 启动Eclipse并刷新项目
      5. 右键单击新创建的启动配置LombokizedEclipse.launch和运行/调试
      6. 在第二个Eclipse实例中创建一个新项目
      7. 将自定义lombok.jar添加到类路径
      8. 使用Lombok(或您的自定义)注释进行批注
      9. 第一个Eclipse实例应该在调试时接管(如果有断点)

答案 1 :(得分:2)

您可以在Eclipse中运行单元测试并设置断点。运行/test/transform/src/lombok/transform/TestWithDelombok.java仅测试javac,/test/transform/src/lombok/transform/RunTransformTests.java运行所有测试。

披露:我是龙目岛的开发者。