本主题说明如何将 jtestcli 与 Lombok 集成。

简介

Lombok 库能够减少需要添加到 Java 项目中的样板代码的数量。使用 Lombok 注解可以为数据对象自动生成 getter 和 setter,从而节省手动编写这些代码的时间和精力。您可以在以下网址了解更多有关 Lombok 库的信息:https://projectlombok.org

将 Jtest 与 Lombok 集成后,Jtest 将能在命令行或 IDE 中执行分析和测试时识别 Lombok 生成的代码。

支持的版本

Jtest 支持 Lombok 1.18.4 - 1.18.12 和 1.18.20 - 1.18.32 版本。

将 jtestcli 与 Lombok 库集成

将 jtestcli 与 Lombok 集成的步骤:

  1. 在命令行中,转到 <JTEST_INSTALL_DIR>/integration/lombok

  2. 要将 Jtest 与 Lombok 1.8.32 集成,需执行以下命令:

    java -jar jtest-integration-lombok.jar

    该版本的 Lombok 库可在 https://projectlombok.org/downloads/lombok-1.18.32.jar 获取。

    要将 Jtest 与其他版本的 Lombok 集成,需使用 lombokLocation 命令行选项指定您的 lombok.jar URL 或路径。例如:

    java -jar jtest-integration-lombok.jar -lombokLocation <LOMBOK_JAR_LOCATION>/lombok.jar

已知局限性

  • 在极少数情况下,由于违规和源代码之间的不匹配,Lombok 所做的类修改可能会导致静态分析无法报告某些违规。
  • 由于 Lombok 中存在一个会阻碍在 Eclipse IDE 中进行安装的 bug,因此不支持 Lombok 1.18.14。详细信息,请参阅 https://github.com/rzwitserloot/lombok/issues/2599
  • 由于 Lombok 中存在一个会在解析代码时导致异常的 bug,因此不支持 Lombok 1.18.16-18。详细信息,请参阅 https://github.com/projectlombok/lombok/issues/2607
  • 以下 Jtest 规则在针对包含 Lombok 注解的代码运行时,可能无法正常生效:

CODSTA.READ.AEFS
CODSTA.BP.ARN
CODSTA.READ.CCB
CODSTA.READ.DVCU
EXCEPT.AEFC
EXCEPT.CTE
EXCEPT.TSCE
FORMAT.ASPACE
FORMAT.CBRACE
FORMAT.DOT
FORMAT.FCB
FORMAT.IND
FORMAT.SAP
FORMAT.SAS
FORMAT.SAUOP
FORMAT.SBUOP
FORMAT.SC
FORMAT.SCOP
INIT.AULI
JUNIT.CSUTD
NAMING.NPH
OPT.ANIPW
PB.LOGIC.AOBO
PB.CLOSE
PB.LOGIC.OAMC
PB.CUB.SBC
PB.NUM.UBD
SECURITY.WSC.ARXML
SECURITY.WSC.INIVF
SECURITY.WSC.SCSM
TRS.IASF
UC.AEEO
UC.DIEB
UC.UCIF
UC.UIMPORT
FORMAT.SAC
FORMAT.SAOP
FORMAT.SBOP
FORMAT.SROP
FORMAT.SCOP
FORMAT.SLOP
TRS.ILI
INIT.CLIB




  • No labels