fucking-awesome-java
A curated list of awesome frameworks, libraries and software for the Java programming language. With repository stars⭐ and forks🍴
https://github.com/correia-jpv/fucking-awesome-java
Last synced: 3 days ago
JSON representation
-
Projects
-
Artificial Intelligence
- LangChain4j - Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.
- MCP Java SDK - Enables applications to interact with AI models and tools through a standardized interface (i.e. Model Context Protocol), supporting both synchronous and asynchronous communication patterns.
- simple-openai - Library to use the OpenAI API (and compatible ones) in the simplest possible way.
-
Cloud
- AWS SDK for Java - Provides Java APIs for interacting with Amazon Web Services.
- Google Cloud Client Libraries - Client libraries for accessing Google Cloud services from Java applications.
-
Bytecode Manipulation
- Perses - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering.
- bytecode-viewer - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)
- cglib - Bytecode generation library.
- Javassist - Tries to simplify bytecode editing.
- bytecode-viewer - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)
- cglib - Bytecode generation library.
- Javassist - Tries to simplify bytecode editing.
- Maker - Provides low level bytecode generation.
- Mixin - Manipulate bytecode at runtime using real Java code.
- Maker - Provides low level bytecode generation.
- Mixin - Manipulate bytecode at runtime using real Java code.
- ASM - All-purpose, low-level bytecode manipulation and analysis.
- Recaf - JVM reverse engineering toolkit, essentially an IDE for Java bytecode.
-
Code Generators
- EasyEntityToDTO - Annotation processor for automatic DTO and Mapper generation with zero boilerplate.
- ADT4J - JSR-269 code generator for algebraic data types.
- Auto - Generates factory, service, and value classes.
- FreeBuilder - Automatically generates the Builder pattern.
- Geci - Discovers files that need generated code, updates automatically and writes to the source with a convenient API.
- JavaPoet - API to generate source files.
- JHipster - Yeoman source code generator for Spring Boot and AngularJS.
- Record-Builder - Companion builder class, withers and templates for Java records.
- Avaje Http Server - Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.
- Joda-Beans - Small framework that adds queryable properties to Java, enhancing JavaBeans.
- Telosys - Simple and light code generator available as an Eclipse Plugin and also as a CLI.
-
Architecture
- ArchUnit - Test library for specifying and asserting architecture rules.
- jMolecules - Annotations and interfaces to express design and architecture concepts in code.
- ArchUnit - Test library for specifying and asserting architecture rules.
- jMolecules - Annotations and interfaces to express design and architecture concepts in code.
-
Bean Mapping
- JMapper - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.
- MapStruct - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.
- ModelMapper - Intelligent object mapping library that automatically maps objects to each other.
- Orika - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.
- reMap - Lambda and method handle-based mapping which requires code and not annotations if objects have different names.
- ModelMapper - Intelligent object mapping library that automatically maps objects to each other.
- JMapper - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.
- MapStruct - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.
- Orika - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.
- reMap - Lambda and method handle-based mapping which requires code and not annotations if objects have different names.
-
Build
-
Caching
-
Configuration
- config - Configuration library supporting Java properties, JSON or its human optimized superset HOCON.
- centraldogma - Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.
- Configurate - Configuration library with support for various configuration formats and transformations.
- dotenv - Twelve-factor configuration library which uses environment-specific files.
- Externalized Properties - Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism.
- Gestalt - Gestalt offers a comprehensive solution to the challenges of configuration management. It allows you to source configuration data from multiple inputs, merge them intelligently, and present them in a structured, type-safe manner.
- avaje config - Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.
- Curator Framework - High-level API for Apache ZooKeeper.
-
CLI
- jbock - Reflectionless command line parser.
- JLine - Includes features from modern shells like completion or history.
- Jansi - ANSI escape codes to format console output.
- Text-IO - Aids the creation of full console-based applications.
- Lanterna - Easy console text-GUI library, similar to curses. (LGPL-3.0-only)
- Airline - Annotation-based framework for parsing Git-like command-line arguments.
- Jexer - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like [Turbo Vision](https://en.wikipedia.org/wiki/Turbo_Vision).
-
Code Analysis
- Checkstyle - Static analysis of coding conventions and standards. (LGPL-2.1-or-later)
- Error Prone - Catches common programming mistakes as compile-time errors.
- Error Prone Support - Error Prone extensions: extra bug checkers and a large battery of Refaster templates.
- Infer - Modern static analysis tool for verifying the correctness of code.
- NullAway - Eliminates NullPointerExceptions with low build-time overhead.
- PMD - Source code analysis for finding bad coding practices.
- p3c - Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse.
- SonarJava - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only)
- Spoon - Library for analyzing and transforming Java source code.
- Spotbugs - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only)
-
Computer Vision
- JavaCV - Java interface to OpenCV, FFmpeg, and much more.
-
Code Coverage
- Clover - Relies on source-code instrumentation instead of bytecode instrumentation.
- Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)
- JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.
-
Compiler-compiler
- JavaCC - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.
-
Programming Languages
Categories
Sub Categories
Keywords
java
38
static-analysis
11
static-code-analysis
6
bytecode
6
annotations
5
mapping
4
mapper
4
configuration
4
java-bytecode
4
code-quality
4
android
3
code-analysis
3
gradle
3
jvm
3
code-generation
3
xml
3
java-decompiler
2
code-transformation
2
fernflower
2
console
2
dex2jar
2
ast
2
decompiler
2
abstract-syntax-tree
2
compiler
2
cfr
2
bytecode-viewer
2
baksmali
2
apk
2
mixins
2
mixin-framework
2
minecraft
2
linter
2
asm
2
jvm-bytecode
2
invokedynamic
2
processor
2
war
2
trait
2
smali
2
recompiler
2
procyon
2
hocon
2
krakatau
2
jsp
2
transform-functions
2
kotlin
2
cli
2
architecture
2
domain-driven-design
2