useful-java-links
A list of useful Java frameworks, libraries, software and hello worlds examples
https://github.com/Vedenin/useful-java-links
Last synced: 7 days ago
JSON representation
-
III. Network and Integration
-
14. Document Processing (XLS, DOC and PDF)
- JasperReports - Complex reporting engine. License: [GNU Lesser](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License). 
-
15. Native
- Java Native Access (JNA) - 2.0).  , [](https://github.com/java-native-access/jna). 
- JNR - Work with native libraries without writing JNI. Also provides interfaces to common system libraries. Same goals as JNA, but faster, and serves as the basis for the upcoming [Project Panama](http://openjdk.java.net/projects/panama/). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
16. XML and SOAP
- Santuario - 2.0). 
- Xalan - J is an XSLT processor written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Xerces - J is a validating XML parser written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- XML Graphics - 2.0). 
- VXQuery - 2.0). 
- Apache Axis - 2.0). 
- Xalan - J is an XSLT processor written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Xerces - J is a validating XML parser written in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- XML Graphics - 2.0). 
- VXQuery - 2.0). 
- Apache Axis - 2.0). 
-
17. Geospatial Service Interation
- Geotoolkit.org - Library for developing geospatial applications. Built on top of the Apache SIS project. License: [GNU Lesser 2.1](http://www.geotoolkit.org/license.html). 
- H2GIS - A spatial extension of the H2 database. License: [GPL 3](http://www.gnu.org/copyleft/gpl.html). 
- JTS Topology Suite - An API of 2D spatial predicates and functions. License: [GNU Lesser 3](http://www.gnu.org/copyleft/lesser.html). 
- Geo - GeoHash utilities in Java. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
18. Reverse Proxy Servers
- Membrane Service Proxy - 2.0) , [](https://github.com/membrane/service-proxy). 
-
1. Servers (Web Server and Application Server)
- WebSphere Liberty - Lightweight, modular server developed by IBM. ***License: proprietary*** 
- Apache Geronimo - 2.0). 
- Apache James - 2.0). 
- WebSphere Liberty - Lightweight, modular server developed by IBM. ***License: proprietary*** 
- GlassFish - GlassFish - World's first Java EE 7 Application Server. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) Or [CDDL 1.0](http://opensource.org/licenses/CDDL-1.0).
- Wildfly - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. License: [GNU Lesser 2.1](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License), [](https://github.com/wildfly/wildfly). 
- Undertow - High performance non-blocking webserver. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/undertow-io/undertow). 
- Apache Tomcat - Robust all-round server for Servlet and JSP. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/apache/tomcat). 
- Nginx clojure - Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29) , [](https://github.com/nginx-clojure/nginx-clojure). 
- Jetty - Lightweight, small server, often embedded in projects. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html) / [Apache 2](http://www.apache.org/licenses/LICENSE-2.0).0, [](https://github.com/eclipse/jetty.project). 
- WebSphere Liberty - Lightweight, modular server developed by IBM. ***License: proprietary*** 
- Payara
- Apache Geronimo - 2.0). 
- Apache James - 2.0). 
-
2. Networking
- Grizzly - NIO framework. Used as a network layer in Glassfish. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [CDDL 1.1](https://en.wikipedia.org/wiki/CDDL).
- Netty - 2.0) , [](https://github.com/netty/netty). 
- Netty socketio - 2.0) , [](https://github.com/mrniko/netty-socketio). 
- Grpc java - clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/grpc/grpc-java). 
- Socket.io java client - java-client.svg?style=social&label=Star&maxAge=2592000)](https://github.com/Gottox/socket.io-java-client). 
- Socket.io client.java - featured Socket.IO Client Library for Java, which is compatible with Socket.IO v1.0 and later. License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/socketio/socket.io-client-java). 
- EsotericSoftware Kryonet - clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/EsotericSoftware/kryonet). 
- Async Http Client - Asynchronous HTTP and WebSocket client library. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Comsat - Integrates standard Java web-related APIs with Quasar fibers and actors. License: [Eclipse Public 1.0](https://www.eclipse.org/legal/epl-v10.html). 
- Apache MINA - driven, asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache HttpComponents - 2.0). 
-
3. Message, message broker and message queue
- JBoss HornetQ - Clear, concise, modular and made to be embedded, License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Synapse - 2.0). 
- LMAX Exchange Disruptor - Thread Messaging Library. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/LMAX-Exchange/disruptor). 
- Gifsockets - v10.html), [](https://github.com/videlalvaro/gifsockets). 
- Real logic Aeron - 2.0) , [](https://github.com/real-logic/Aeron). 
- JeroMQ - java-links/blob/master/img/impossible-proprietary-code-linking.png?raw=true)
- Metamorphosis - 2.0) , [](https://github.com/killme2008/Metamorphosis). 
- Igniterealtime Openfire - 2.0) , [](https://github.com/igniterealtime/Openfire). 
- Zeromq Jzmq - java-links/blob/master/img/impossible-proprietary-code-linking.png?raw=true)
- Smack - platform XMPP client library. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/igniterealtime/Smack). 
- Apache Qpid - 2.0). 
- Apache Synapse - 2.0). 
- Apache ServiceMix - source integration container that unifies the features and functionality of Apache ActiveMQ, Camel, CXF, and Karaf into a powerful runtime platform you can use to build your own integrations solutions. It provides a complete, enterprise ready ESB exclusively powered by OSGi. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
4. Http and ssh
- Square Okhttp - 2.0) , [](https://github.com/square/okhttp). 
- Http request - request.svg?style=social&label=Star&maxAge=2592000)](https://github.com/kevinsawicki/http-request). 
- Nanohttpd - clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/NanoHttpd/nanohttpd). 
- Http kit - kit is a minimalist, event-driven, high-performance Clojure HTTP server/client library with WebSocket and asynchronous support. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/http-kit/http-kit). 
- Apache Zookeeper - 2.0) , [](https://github.com/apache/zookeeper). 
- Moco - java-links/blob/master/img/business-friendly.png?raw=true)
- Webbit - clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/webbit/webbit). 
- Mashape Unirest java - java.svg?style=social&label=Star&maxAge=2592000)](https://github.com/Mashape/unirest-java). 
- Sshj - 2.0) , [](https://github.com/hierynomus/sshj). 
- Netflix Feign - 2.0) , [](https://github.com/Netflix/feign). 
-
5. Rest Frameworks
- Spark - Sinatra inspired framework. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Wink - RS specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Olingo - 2.0). 
- Square Retrofit - safe REST client. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/square/retrofit). 
- Dropwizard - 2.0) , [](https://github.com/dropwizard/dropwizard). 
- Swagger - 2.0) , [](https://github.com/swagger-api/swagger-core). 
- Jersey - RS reference implementation. License: [CDDL 1.0](https://opensource.org/licenses/CDDL-1.1), [](https://github.com/jersey/jersey).
- Linkedin Rest.li - 2.0) , [](https://github.com/linkedin/rest.li). 
- Spring hateoas - Library to support implementing representations for hyper-text driven REST web services. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-hateoas). 
- RestExpress - Thin wrapper on the JBOSS Netty HTTP stack to provide scaling and performance. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Rapidoid - A simple, secure and extremely fast framework consisting of embedded HTTP server, GUI components and dependency injection. http://www.rapidoid.org/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0), [](https://github.com/rapidoid/rapidoid). 
- RestX - Framework based on annotation processing and compile-time source generation. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Wink - RS specification. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Olingo - 2.0). 
-
6. Integration frameworks
- Apache CXF - WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Jmxtrans
- Apache Camel - 2.0) , [](https://github.com/apache/camel). 
- Spring Integration - Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP). http://projects.spring.io/spring-integration/ License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spring-projects/spring-integration). 
- Apache CXF - WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
7. Web Crawling and HTML parsering
- Sparklemotion Nokogiri - 2.0) , [](https://github.com/sparklemotion/nokogiri). 
- Jsoup - java-links/tree/master/helloworlds/3.7-web-crawling-and-html-parser/Jsoup). License: [MIT](https://opensource.org/licenses/MIT) , [](https://github.com/jhy/jsoup). 
- Webmagic - 2.0) , [](https://github.com/code4craft/webmagic). 
- Antlr4 - clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/antlr/antlr4). 
- Parboiled - lightweight, easy-to-use, powerful. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/sirthias/parboiled). 
- Pegdown - Java Markdown processor based on a parboiled PEG parser supporting a number of extensions. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/sirthias/pegdown). 
- Crawler4j - Simple and lightweight web crawler. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
8. Json
- Gson - Serializes objects to JSON and vice versa. Good performance with on-the-fly usage, [](https://github.com/google/gson). [User guide](https://github.com/google/gson/blob/master/UserGuide.md) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/gson)
- Square Moshi - java-links/tree/master/helloworlds/3.8-json/moshi). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) 
- Jackson - Similar to GSON but has performance gains if you need to instantiate the library more often. Subprojects: [Jackson core](https://github.com/FasterXML/jackson-core) Core part of Jackson, [Jackson databind](https://github.com/FasterXML/jackson-databind) Core part of Jackson that defines Streaming API as well as basic shared abstractions, [](https://github.com/FasterXML/jackson-core). [User guide](https://github.com/FasterXML/jackson-docs) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/jackson). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Alibaba Fastjson - java-links/tree/master/helloworlds/3.8-json/fastjson). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- LoganSquare - JSON parsing and serializing library based on Jackson's streaming API. Outpeforms GSON & Jackson's library, [](https://github.com/bluelinelabs/LoganSquare). [User guide](https://github.com/bluelinelabs/LoganSquare#usage) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/logansquare). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- JSON java - java.svg?style=social&label=Star&maxAge=2592000)](https://github.com/stleary/JSON-java). [User guide](https://github.com/stleary/JSON-java) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/json_java). License: [Crockford's license (MIT License + "Good, not Evil")](https://en.wikipedia.org/wiki/Douglas_Crockford#.22Good.2C_not_Evil.22).
- Instagram Ig json parser - json-parser.svg?style=social&label=Star&maxAge=2592000)](https://github.com/Instagram/ig-json-parser). [User guide](https://github.com/Instagram/ig-json-parser#getting-started) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/ig_json_parser). License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29). 
- JSON.simple - A simple Java toolkit for JSON. You can use json-simple to encode or decode JSON text, [](https://github.com/fangyidong/json-simple). [User guide](https://code.google.com/archive/p/json-simple/wikis) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/json_simple). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Genson - Powerful and easy to use Java to JSON conversion library, http://owlike.github.io/genson/ [](https://github.com/owlike/genson). [User guide](http://owlike.github.io/genson/Documentation/UserGuide/) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/genson). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Jsonschema2pojo - binding with Jackson 1.x or 2.x, Gson, etc. , [](https://github.com/joelittlejohn/jsonschema2pojo). [User guide](https://github.com/joelittlejohn/jsonschema2pojo/wiki/Getting-Started) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/jsonschema2pojo). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Jayway JsonPath - started) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/json_path). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Json schema validator - schema-validator.svg?style=social&label=Star&maxAge=2592000)](https://github.com/fge/json-schema-validator). [User guide](https://github.com/fge/json-schema-validator#read-me-first) and [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/3.8-json/json_schema_validator). License: [GNU Lesser 3](https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License)/[Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
9. CSV
- Super CSV - Powerful CSV parser with support for Dozer, Joda-Time and Java 8. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- uniVocity-parsers - One of the fastest and most feature-complete CSV. Also comes with parsers for TSV and fixed width records. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- opencsv - Simple CSV parser with a commercial-friendly license. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
-
IV. Testing
-
1. Testing
- Arquillian - Integration and functional testing platform for Java EE containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Citrus - Integration testing framework with focus on client- and serverside messaging. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: [MIT](https://opensource.org/licenses/MIT). 
- GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- Selenide - Concise API around Selenium to write stable and readable UI tests. License: [MIT](https://opensource.org/licenses/MIT). 
- Unitils - Modular testing library for unit and integration testing. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- cdp4j - Web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. [](https://github.com/webfolderio/cdp4j) License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- JMockit - Mocks static, final methods and more. License: [MIT](https://opensource.org/licenses/MIT). 
- ArchUnit - 2.0) , [](https://github.com/TNG/ArchUnit). 
- Junit - v10.html) , [](https://github.com/junit-team/junit4). 
- Mockito - java-links/blob/master/img/business-friendly.png?raw=true)
- Selenium - 2.0) , [](https://github.com/SeleniumHQ/selenium). 
- Cucumber jvm - BDD testing framework. Cucumber-JVM is a pure Java implementation of Cucumber that supports the most popular programming languages for the JVM. [Hello World examples](https://github.com/Vedenin/useful-java-links/tree/master/helloworlds/4.1-testing/cucumber). License: [MIT](https://opensource.org/licenses/MIT), [](https://github.com/cucumber/cucumber-jvm). 
- JBehave - extensively configurable framework for Behavior-Driven Development (BDD). BDD is an evolution of test-driven development (TDD) and acceptance-test driven design, and is intended to make these practices more accessible and intuitive to newcomers and experts alike. License: [BSD 3](https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/jbehave/jbehave-core). 
- Spock - compatible framework featuring an expressive Groovy-derived specification language. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/spockframework/spock). 
- Google Firing range - 2.0) , [](https://github.com/google/firing-range). 
- Fitnesse - alone acceptance testing framework and wiki.. License: [CPL-1.0](https://opensource.org/licenses/cpl1.0.php), [](https://github.com/unclebob/fitnesse).
- Sikuli - java-links/blob/master/img/business-friendly.png?raw=true)
- JavaHamcrest - clause_license_.28.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29), [](https://github.com/hamcrest/JavaHamcrest). 
- TestNG - 2.0) , [](https://github.com/cbeust/testng). 
- Galenframework Galen - 2.0) , [](https://github.com/galenframework/galen). 
- Google truth - 2.0) , [](https://github.com/google/truth). 
- JUnitParams - Creation of readable and maintainable parametrised tests. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Unitils - Modular testing library for unit and integration testing. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- SeLion - Enabling Test Automation in Java. SeLion builds on top of TestNG and Selenium to provide a set of capabilities that get you up and running with WebDriver in a short time. It can be used for testing web and mobile applications, [](https://github.com/paypal/SeLion). License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Image-Comparison - Published on Maven Central Java Library that compares 2 images with the same sizes and shows the differences visually by drawing rectangles. Some parts of the image can be excluded from the comparison. [](https://github.com/romankh3/image-comparison) License: [The Unlicense](https://unlicense.org)
- LogCaptor - Captures log entries for unit testing purposes. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0) , [](https://github.com/Hakky54/log-captor). 
- Awaitility - DSL for synchronizing asynchronous operations. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Wiremock - 2.0) , [](https://github.com/tomakehurst/wiremock). 
- AssertJ - 2.0) , [](https://github.com/joel-costigliola/assertj-core). 
- PowerMock - Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- REST Assured - Java DSL for easy testing for REST/HTTP services. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
2. Code Coverage
- JCov - Code coverage tool used in the OpenJDK project's development toolchain. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- JCov - Code coverage tool used in the OpenJDK project's development toolchain. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
3. Continuous Integration
- Bamboo - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it. 
- CircleCI - Hosted service with a free trial. 
- fabric8 - Integration platform for containers. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Apache Continuum - ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems.. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Go - ThoughtWork's open-source solution. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
- Travis - Hosted service often used for open-source projects. License: ?
- Codeship - Hosted services with a limited free plan. 
- Jenkins - Provides server-based deployment services. License: [MIT](https://opensource.org/licenses/MIT). 
- Hudson - Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Currently Hudson focuses on the following two jobs: Building/testing software projects continuously and Monitoring executions of externally-run jobs. License: [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- Apache Continuum - ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems.. License: [Apache 2](http://www.apache.org/licenses/LICENSE-2.0). 
-
4. Formal Verification
- Daikon - Daikon detects likely program invariants and can generate JML specs based on those invariats. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Java Modeling Language (JML) - Behavioral interface specification language that can be used to specify the behavior of code modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus. Used by several other verification tools. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Java Path Finder (JPF) - JVM formal verification tool containing a model checker and more. Created by NASA. License: [NASA OPEN SOURCE AGREEMENT VERSION 1.3](http://javapathfinder.sourceforge.net/NOSA-1.3-JPF.txt)
- CATG - Concolic unit testing engine. Automatically generates unit tests using formal methods. License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses), License: [BSD 2](https://en.wikipedia.org/wiki/BSD_licenses). 
- jCUTE - Concolic unit testing engine that automatically generates unit tests. Concolic execution combines randomized concrete execution with symbolic execution and automatic constraint solving. **License: proprietary.** 
- Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- OpenJML - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License) and [Eclipse Public License v1.0](https://en.wikipedia.org/wiki/Eclipse_Public_License). 
- JMLOK 2.0 - Detects nonconformances between code and JML specification through the feedback-directed random tests generation, and suggests a likely cause for each nonconformance detected. License: [GNU 3](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- KeY - The KeY System is a formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for specification and symbolic execution for verification. License: [GNU](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
- Java Modeling Language (JML) - Behavioral interface specification language that can be used to specify the behavior of code modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus. Used by several other verification tools. License: [GNU 2](https://en.wikipedia.org/wiki/GNU_General_Public_License). 
-
-
VIII. Resources
-
1. Communities
- r/java - Subreddit for the Java community.
- DevProjects - Community to discuss Java projects and share solutions.
- vJUG - Virtual Java User Group.
-
2. Influential Books
-
3. Websites
-
Programming Languages
Categories
Sub Categories
6. Useful libraries
74
1. Testing
55
2. Web development
47
8. Machine Learning
45
7. Big data
32
1. Databases and storages
29
4. Client and drivers for databases
21
2. Deploy, config and build
17
3. Websites
17
5. Opensource applications that were written with Java
16
9. Distributed Applications
16
5. Game Development
15
5. Rest Frameworks
14
1. Servers (Web Server and Application Server)
14
1. Common frameworks and libraries
14
1. Source code examples
14
3. Message, message broker and message queue
13
8. Json
12
5. ORM
11
5. Monitoring
11
3. Perfomance tools
11
6. Opensource games that were written with Java
11
2. Networking
11
16. XML and SOAP
11
3. Continuous Integration
10
4. Formal Verification
10
4. Http and ssh
10
12. Clouds
10
1. IDE
9
6. Working with messy data
9
10. Integratin with API
9
4. Code Analysis
9
8. Code generation and changing byte code
9
4. Business
9
3. Search engines
8
14. Document Processing (XLS, DOC and PDF)
7
7. Web Crawling and HTML parsering
7
3. GUI
7
8. Other
7
7. Imagery and Video
7
1. Program languages that were written with Java
6
2. Data structures
6
11. OSGI
6
6. Integration frameworks
5
17. Geospatial Service Interation
4
10. Science
4
2. Influential Books
4
3. Javascript
4
11. Bitcoin
3
2. Code Coverage
3
13. Cluster Management
3
9. CSV
3
1. Communities
3
2. Other program languages tools that were written with Java
3
15. Native
2
2. Benchmark results
2
4. Frameworks that help to create parsers, interpreters or compilers
1
18. Reverse Proxy Servers
1
7. Documentation
1
3. Working with git and github
1
Keywords
java
140
database
15
sql
12
android
11
framework
11
spring
10
kotlin
10
microservices
9
big-data
8
java-library
8
javascript
8
python
8
jvm
7
hadoop
6
machine-learning
6
static-analysis
6
web-framework
5
scala
5
spring-boot
5
reactive
5
testing
5
jdbc
5
functional-programming
5
data-science
4
http-client
4
ios
4
mysql
4
concurrency
4
json
4
serialization
4
nosql
4
intellij
4
netty
4
data-structures
4
minecraft
4
apache
4
groovy
4
gradle
4
metrics
3
web
3
junit
3
distributed-systems
3
jboss
3
distributed
3
xml
3
rpc
3
jakartaee
3
rest
3
performance
3
maven
3