我刚开始使用Lombok通过修改其引导类路径在我的本地Eclipse环境中为Java bean自动生成getter和setter的能力:
-vmargs -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar
它在本地工作正常,但是由于我们的应用程序生命周期需要Jenkins构建,我对@Getter和@Setter注释在我们的CI环境中运行时对代码的影响方式有点怀疑.
到目前为止,Lombok触及我们的域层,因为我们使用其他框架,这些框架依赖于在运行时在模型上设置getter/setter以使它们工作,我想更全面地了解Lombok的字节码修改是如何在我完全完成之前完成的.承诺使用它.
这些注释自动生成的所有方法是否都可以在Jenkins中使用,只是因为在pom.xml文件中具有Lombok的依赖性,或者我还需要修改整个Jenkins的启动脚本,如上所述.或者只是Jenkins的工作需要以某种方式修改以包含Lombok的字节码修改行为?
如果有人尝试并成功将Lombok与Jenkins CI合并,我将愿意听取他们的经验并将其融入我们的DevOps流程中.
先感谢您.
在你的pom文件("提供")中有一个Lombok依赖项应该可以胜任.您可以使用本地计算机上的命令行对此进行测试mvn package
.你不需要-vmargs
或其他任何东西.
Lombok在编译阶段挂钩,只在类文件中生成正确的字段,方法和代码.在类文件上运行的所有内容甚至不需要知道它是由Lombok生成的.
如果由于某种原因需要处理包含生成代码的源文件,您也可以先使用Lombok Maven插件运行delombok.
在我的公司,我们成功地使用Jenkins和Lombok.
披露:我是Lombok开发人员.