A Kotlin and Java API for programmatically generating Kotlin .kt source files.
projectlombok/lombok
A Java library that plugs into editors and build tools to generate boilerplate such as getters, equals, builders and logging fields via annotations.
- Stars
- 13,479
- Forks
- 2,472
- Open issues
- 1,011
- Last commit
- 16 days ago
What is it?
Project Lombok is a Java library that hooks into your editor and build tools to generate repetitive code at compile time. Instead of writing getters, setters, equals and hashCode methods by hand, you add an annotation to the class and the methods are produced for you.
The same mechanism covers other common patterns, such as creating a fully featured builder from a single annotation and automatically declaring logger variables. Because the code is generated during compilation, the source file stays short and focused on the class's actual logic.
Lombok works by plugging into the Java compiler and IDEs, so it requires editor support to display generated members correctly. Installation and usage instructions are provided on the project's website.
Key features
- 01Generates getters, setters, equals and hashCode via annotations.
- 02Creates builder classes from a single annotation.
- 03Automatically declares logger fields.
- 04Works by integrating with the Java compiler and build tools.
- 05Requires editor plugin support to display generated members.
Use cases
- Reducing boilerplate in Java entity, DTO and value classes.
- Generating builders for classes with many optional fields.
- Removing repetitive logger declarations across a codebase.
Quick start
- 1
Visit projectlombok.org for download and installation instructions
Things to know
- The license could not be automatically identified, so check the LICENSE file before use.
In collections
Topics
FAQ
- What is lombok?
- A Java library that plugs into editors and build tools to generate boilerplate such as getters, equals, builders and logging fields via annotations. Project Lombok is a Java library that hooks into your editor and build tools to generate repetitive code at compile time. Instead of writing getters, setters, equals and hashCode methods by hand, you add an annotation to the class and the methods are produced for you.
- Is lombok free to use? What license does it have?
- lombok is open source under the Other license. Check the license terms before using it in commercial products.
- Is lombok still maintained?
- Actively maintained. The last commit to lombok was on Oct 22, 2026.
- What can I use lombok for?
- Reducing boilerplate in Java entity, DTO and value classes. Generating builders for classes with many optional fields. Removing repetitive logger declarations across a codebase.
- How do I install lombok?
- Visit projectlombok.org for download and installation instructions
- Where can I get lombok?
- The source code and installation instructions are on GitHub: https://github.com/projectlombok/lombok
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Go tool that generates Swagger 2.0 API documentation from annotations written in your Go source code comments.
A Swift code generator built on SwiftSyntax that uses templates to produce boilerplate such as mocks, Equatable, and Codable code.
A modular collection of compiler and toolchain technologies, including the LLVM core, the Clang C/C++ frontend, libc++ and the LLD linker.
A C++ library for low-latency machine code generation, letting programs emit x86/x64 and AArch64 instructions at runtime.
A Java framework for building command line apps with annotations or a programmatic API, supporting subcommands, ANSI colors and shell autocompletion.