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