如何在大型 SVN/Maven 项目中使用 Project Lombok

How to use Project Lombok in large, SVN/Maven project

我正在与其他几位开发人员一起开发 Java 应用程序。我们使用 maven 进行包管理,使用 SVN 进行版本控制。

我最近开始使用 Lombok, being fedup with boilerplate in so many of my classes. However, Lombok must be installed in the Eclipse environment,所以我的问题是,我所有的队友都必须安装它才能编译 Lombok 代码吗?如果我将我的代码提交到回购协议,然后他们拉取它,他们将无法构建项目吗?如果是这样,有什么办法解决这个问题吗?当然其他团队也在使用这个方便的库。

试图在简单地 "trying it" 招致他们的愤怒之前更多地了解这一点。

你在 误读 你发布的第二个 link。

是的,Lombok 主要用于 IDE。

当然,你不需要 IDE - 你也可以将它与 maven、sbt、gradle 一起使用 --- 请参阅他们的 documentation.

郑重声明:任何 sane 编程语言工具都需要一些非 IDE 版本才能发挥作用。您会看到 - 最后,任何 真正的 项目都应该使用构建系统构建(以允许自动化、持续交付、部署等)。换句话说:一个合理的 built 的关键 属性 是在某些 "non-developer" 后端系统上 运行 它的能力。如果您需要某些开发人员在他的本地工作站上做一些事情才能推出您的产品,那么很可能您做错了什么。

编辑:请记住 - Lombok 通过 注释 工作。这意味着您在引入 Lombok 时更改了 Java 源代码。这当然意味着 任何 人(或与此相关的构建过程)需要 "Lombok enabled"。因此:您即将向您的源代码添加对某些外部第 3 方开源工具集的 major 依赖项。您不仅应该了解 所有 技术后果,还应该了解法律方面的问题。当然,你团队中每个有发言权的人……都应该表示同意。因为如果您不启用 Lombok,就无法再构建!

在执行此步骤之前,您应该确信使用 Lombok 对您的团队来说是正确的选择。考虑到您 question/comments 的(抱歉)天真,我想知道您是否真的要做出这个决定。

  1. "will all of my teammates have to install it for Lombok code to compile?" - 是的,他们可能需要在 ide 中安装 lombok 插件,并且依赖项必须作为依赖项包含在 pom 中。

  2. "If I commit my code to the repo, and they pull it, are they not going to be able to build the project?" - 如果您从命令行更新 pom,是的,从 ide 这取决于 ide 的设置方式项目。

  3. "If so, are there any ways around this?" - 不,你真的应该向团队提出 idea 减少样板代码,并提出共同的作战策略。在他们身上使用新技术是破坏性的、不专业的,并且可能会损害您的声誉。在当地尝试,将其展示给团队,展示之前和之后,回顾你运行一路走来的利弊以及预期的影响。