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

时间:2016-12-07 17:23:44

标签: java maven svn lombok

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

我最近开始使用Lombok,在我的许多课程中使用样板文件进行补偿。但是,Lombok must be installed in the Eclipse environment,我的问题是,我的所有队友都必须安装它才能编译Lombok代码吗?如果我将我的代码提交给repo,并且他们将它拉出来,他们是否无法构建项目?如果是这样,有什么方法吗?当然其他团队正在使用这个方便的图书馆。

在简单地“尝试”并引发他们的愤怒之前,试着更多地理解这一点。

2 个答案:

答案 0 :(得分:2)

误读您发布的第二个链接。

是的,Lombok主要用于您的IDE。

但是当然,你不需要一个IDE - 你可以将它与maven,sbt,gradle一起使用---看看他们的documentation

只是为了记录:任何理智的编程语言工具都需要一些非IDE版本才有意义。你看 - 最后,任何真正的项目都应该使用构建系统构建(允许自动化,持续交付,部署,你的名字)。换句话说:合理的构建的关键属性是能够在某些“非开发人员”后端系统上运行它。如果你需要一些开发人员在他的本地工作站上做些什么来取出你的产品,那么你可能会做错了。

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

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

答案 1 :(得分:2)

  1. "我的所有队友都必须安装它才能编译Lombok代码吗?" - 是的,他们可能需要在ide中安装lombok插件,并且依赖项必须作为依赖项包含在pom中。

  2. "如果我将代码提交给回购,并且他们提取了代码,他们是否无法构建项目?" - 如果你更新pom,从命令行是,从ide,它取决于ide如何设置为与项目一起使用。

  3. "如果是这样,有什么方法吗?" - 不,你应该提出与团队一起减少样板代码的想法,然后提出一个共同的战斗策略。在他们身上使用新技术具有破坏性,非专业性,可能会损害您的声誉。在本地尝试,将其呈现给显示前后的团队,回顾您在此过程中遇到的利弊以及预期的影响。