awesome-java
A curated list of awesome frameworks, libraries and software for the Java programming language.
https://github.com/eric-erki/awesome-java
Last synced: 13 days ago
JSON representation
-
Projects
-
Template Engine
- Thymeleaf - Aims to be a substitute for JSP and works for XML files.
-
Testing
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)
- Serenity BDD - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.
- ConcurrentUnit - Toolkit for testing multi-threaded and asynchronous applications.
- Hoverfly Java - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services.
- Karate - DSL that combine API test-automation, mocks and performance-testing making testing REST/HTTP services easy.
- Cucumber - Provides a way to describe features in a plain language which customers can understand.
- J8Spec - Follows a Jasmine-like syntax.
- Lamdba Behave - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.
- Beanmother - Sets up beans from YAML fixtures.
- Fixture Factory - Generates fake objects from a template.
- jFairy - Fake data generator.
- Randomized Testing - JUnit test runner and plugins for running JUnit tests with pseudo-randomness.
- Java Faker - Port of Ruby's fake data generator.
- ArchUnit - Test library for specifying and asserting architecture rules.
- XMLUnit - Simplifies testing for XML output.
- junit-dataprovider - TestNG-like data provider/runner for JUnit.
- Mutability Detector - Reports whether instances of a given class are immutable.
- raml-tester - Tests if a request/response matches a given RAML definition.
- TestContainers - Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
- JMockit - Integration testing, API mocking and faking, and code coverage.
- Mockito - Mocking framework that lets you write tests with a clean and simple API.
- Moco - Concise web services for stubs and mocks.
- Pact JVM - Consumer-driven contract testing.
- Awaitility - DSL for synchronizing asynchronous operations.
- Cukes-REST - Collection of Gherkin steps for REST-service testing using Cucumber.
- PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.
- JBehave - Extensively configurable framework that describes stories.
- JUnit - Common testing framework.
- AssertJ - Fluent assertions that improve readability.
- Hamcrest - Matchers that can be combined to create flexible expressions of intent.
- JSONAssert - Simplifies testing JSON strings.
- pojo-tester - Automatically performs tests on basic POJO methods. (LGPL-3.0-only)
- MockServer - Allows mocking of systems integrated with HTTPS.
- WireMock - Stubs and mocks web services.
-
Utility
- Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.
- JADE - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)
- CRaSH - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)
- Dex - Java/JavaFX tool capable of powerful ETL and data visualization.
- fswatch - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.
- Gephi - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)
- JavaVerbalExpressions - Library that helps with constructing difficult regular expressions.
- JGit - Lightweight, pure Java library implementing the Git version control system.
- minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server.
- Underscore-java - Port of Underscore.js functions.
- bucket4j - Rate limiting library based on token-bucket algorithm.
- Protégé - Provides an ontology editor and a framework to build knowledge-based systems.
- cactoos - Collection of object-oriented primitives.
-
Version Managers
-
Web Crawling
- Crawler4j - Simple and lightweight web crawler.
- StormCrawler - SDK for building low-latency and scalable web crawlers.
- webmagic - Scalable crawler with downloading, url management, content extraction and persistent.
- StormCrawler - SDK for building low-latency and scalable web crawlers.
- Apache Nutch - Highly extensible, highly scalable web crawler for production environments.
- jsoup - Scrapes, parses, manipulates and cleans HTML.
-
Web Frameworks
- Vaadin Flow - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side.
- Firefly - Asynchronous framework for rapid development of high-performance web application.
- Pippo - Small, highly modularized, Sinatra-like framework.
- Takes - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.
- Apache Tapestry - Component-oriented framework for creating dynamic, robust, highly scalable web applications.
- Apache Wicket - Component-based web application framework similar to Tapestry, with a stateful GUI.
- Jooby - Scalable, fast and modular micro-framework that offers multiple programming models.
- Ninja - Full-stack web framework.
- PrimeFaces - JSF framework with both free and commercial/support versions and frontend components.
-
-
Resources
-
Awesome Lists
-
Communities
- r/java - Subreddit for the Java community.
- Stack Overflow - Question/answer platform.
- VirtualJUG - Virtual Java User Group.
-
Frontends
-
Influential Books
-
Podcasts and Screencasts
- The Java Council
- The Java Posse - Discontinued as of 02/2015.
- Marco Behler's Screencasts - Screencasts about modern Java development.
-
Twitter
- Aleksey Shipilëv - Performance geek, benchmarking czar, concurrency bug hunter.
- Brian Goetz - Java Language Architect at Oracle.
- Bruno Borges - Product Manager/Java Jock at Oracle.
- Chris Richardson - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, \*POJOs in Action- author.
- Ed Burns - Consulting Member of the Technical Staff at Oracle.
- Eugen Paraschiv - Author of the Spring Security Course.
- Heinz Kabutz - Java Champion, speaker, author of The Java Specialists' Newsletter, concurrency performance expert.
- Holly Cummins - Technical Lead of IBM London's Bluemix Garage, Java Champion, developer, author, JavaOne rockstar.
- James Weaver - Java/JavaFX/IoT developer, author and speaker.
- Java Magazine - Official Java Magazine account.
- Javin Paul - Well-known Java blogger.
- Josh Long - Spring Advocate at Pivotal, author of O'Reilly's Cloud Native Java- and Building Microservices with Spring Boot, JavaOne Rock Star.
- Lukas Eder - Java Champion, speaker, JUG.ch co-leader, Founder and CEO Data Geekery (jOOQ).
- Mario Fusco - RedHatter, JUG coordinator, frequent speaker and author.
- Mark Heckler - Pivotal Principal Technologist and Developer Advocate, conference speaker, published author, and Java Champion, focusing on Internet of Things and the cloud.
- Mark Reinhold - Chief Architect, Java Platform Group, Oracle.
- Markus Eisele - Java EE evangelist, Red Hat.
- Martijn Verburg - London JUG co-leader, speaker, author, Java Champion and much more.
- Martin Thompson - Pasty faced performance gangster.
- Monica Beckwith - Performance consultant, JavaOne Rock Star.
- OpenJDK - Official OpenJDK account.
- Peter Lawrey - Peter Lawrey, Java performance expert.
- Randy Shoup - Stitch Fix VP Engineering, speaker, JavaOne Rock Star.
- Reza Rahman - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker.
- Sander Mak - Java Champion, author.
- Simon Maple - Java Champion, VirtualJUG founder, LJC leader, RebelLabs author.
- Spencer Gibb - Software Engineer, Dad, Geek, Co-founder and Lead of Spring Cloud Core @pivotal.
- Stephen Colebourne - Java Champion, speaker.
- Trisha Gee - Java Champion and speaker.
- Venkat Subramaniam - Author, University of Houston professor, MicroSoft MVP award recipient, JavaOne Rock Star, Java Champion.
- Vlad Mihalcea - Java Champion working on Hypersistence Optimizer, database aficionado, author of High-Performance Java Persistence book.
- Chris Richardson - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, \*POJOs in Action- author.
- Josh Long - Spring Advocate at Pivotal, author of O'Reilly's Cloud Native Java- and Building Microservices with Spring Boot, JavaOne Rock Star.
- Randy Shoup - Stitch Fix VP Engineering, speaker, JavaOne Rock Star.
- Arun Gupta - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase.
- Adam Bien - Freelance author, JavaOne Rockstar speaker, consultant, Java Champion.
- Bruno Borges - Product Manager/Java Jock at Oracle.
- Aleksey Shipilëv - Performance geek, benchmarking czar, concurrency bug hunter.
- Antonio Goncalves - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author.
- Brian Goetz - Java Language Architect at Oracle.
- Heinz Kabutz - Java Champion, speaker, author of The Java Specialists' Newsletter, concurrency performance expert.
- Holly Cummins - Technical Lead of IBM London's Bluemix Garage, Java Champion, developer, author, JavaOne rockstar.
- Java EE - Official Java EE Twitter account.
- Java - Official Java Twitter account.
- Markus Eisele - Java EE evangelist, Red Hat.
- Martin Thompson - Pasty faced performance gangster.
- Monica Beckwith - Performance consultant, JavaOne Rock Star.
- Peter Lawrey - Peter Lawrey, Java performance expert.
- Venkat Subramaniam - Author, University of Houston professor, MicroSoft MVP award recipient, JavaOne Rock Star, Java Champion.
-
Websites
-
Programming Languages
Categories
Sub Categories
Twitter
49
Testing
34
Miscellaneous
29
Database
21
REST Frameworks
18
JSON
17
Security
15
Websites
14
Monitoring
14
Utility
13
JVM and JDK
12
Awesome Lists
11
Networking
11
Distributed Applications
11
CLI
11
Bean Mapping
10
Geospatial
9
Code Analysis
9
Web Frameworks
9
Logging
8
Messaging
8
High Performance
8
Configuration
8
Formal Verification
8
Machine Learning
8
HTTP Clients
8
Science
7
Dependency Injection
7
Development
7
PDF
7
Functional Programming
7
Data Structures
7
Bytecode Manipulation
7
Imagery
6
Web Crawling
6
Template Engine
6
Code Generators
6
Introspection
6
Performance analysis
5
Distribution
5
Influential Books
5
Platform
5
Serialization
5
Natural Language Processing
5
Financial
4
CSV
4
Distributed Transactions
4
Job Scheduling
4
Microservice
4
ORM
4
Reactive libraries
3
Native
3
Communities
3
Document Processing
3
Processes
3
Podcasts and Screencasts
3
Code Coverage
3
Date and Time
3
Version Managers
3
Build
3
IDE
2
Search
2
Hypermedia Types
2
Game Development
2
GUI
1
Compiler-compiler
1
Caching
1
Constraint Satisfaction Problem Solver
1
Server
1
Cluster Management
1
Frontends
1
Keywords
java
141
android
13
static-analysis
10
spring-boot
10
monitoring
10
microservices
9
jvm
8
http
7
testing
7
java-library
7
json
7
spring
7
rpc
7
awesome
7
kotlin
6
javafx
6
jdbc
6
static-code-analysis
6
grpc
5
reactive-streams
5
machine-learning
5
awesome-list
5
scala
5
javascript
5
xml
5
reactive
4
testing-tools
4
annotation-processor
4
scheduler
4
code-analysis
4
database
4
serialization
4
framework
4
jackson
4
library
4
python
4
java-8
4
functional-programming
4
http-client
4
nlp
4
c
4
test-automation
3
code-generator
3
performance
3
configuration
3
junit
3
c-plus-plus
3
concurrency
3
circuit-breaker
3
visualization
3