About - Java Architecture and Third Party Libraries

List of Java third-party libraries. This list contains popular open java projects with the projects that I have favored and selected. Some listings have short descriptions and latest versions. Some projects are rated with an A- and above. These are stop projects that are universally used and are constantly updated. They aren't necessarily perfect libraries, even Java is not perfect but these A rated libraries should be familiar to most Java developers.

More opinionated listing based on Awesome Java List: github.com/akullpp/awesome-java and Java Source Net Open Projects

Java Web Frameworks (in no particular order)

Apache Wicket - Component based Java web framework. Focus on specialized widgets. Competes with JSF. Latest 7.6.0, supported, Rating A

Spring Core and Spring MVC - Dependency Injection, MVC framework, many other projects. 4.3.8 GA release. Use spring core for any project, one of the popular Java frameworks. Spring MVC loosely competes with Struts. Also used for REST APIs. Spring MVC REST Controllers can be used with Angular 1 and Angular 2 front-ends. Rating A+

Spring Boot - Easy Setup Spring Web Project/Server, embedded server, 1.5.3 GA, Rating A

Java Server Faces Open Implementation of JSF standard - JSF 2.3 latest.

PrimeFaces - PrimeFaces 6.0.18, UI components for JSF, combine with impl above, competes with Wicket. Rating A

Apache Struts - Java Open MVC Framework, Apache Struts 2.5.10.1. Loosely competes with Spring MVC, developers have been favoring the simplicity of Spring MVC, Struts still viable

Play Framework - Java and Scala Framework

Database Related, ORM, etc

Hibernate ORM - Object Relation Mapping Frameworking, also has JPA implementation, 5.2.10, Rating A+

Apache Lucene 6.5.1 - Java indexing and search

Apache Derby - Java based relational database, embeddable database, 10.13.1.1 Release, Rating A+

REST Services, SOAP Services, Client http

Camel EIP - Enterprise Integration Patterns, not necessarily ESB, 2.18.3 Release. Also support for micro services creation, data aggregation layer. Rating A

Apache CXF - REST and SOAP services, release 3.1.11

Apache Axis 2 - SOAP Services implementation, implements JAX-WS

HttpClient - HTTP Client implementation, connect to HTTP servers, version 4.5.3

Common Libraries and Utilities

Commons Bean Utils - Services for collection of beans, used by many libraries, Version 1.9.3

Commons Codec - common encoders and decoders including base64 encoding. Version 1.10

Commons Collections - Data Structures and other artifacts, latest version 4.1

Commons IO - Steam and other file io operations

Commons Lang - Manipulate core libraries, version 3.5

Google Guava - Google collections api, Guava 21.0, Rating A

Joda Time, TIME api - version 2.9.9, Rating A-

ANTLR - parser generator, used internally by many projects, latest version 4.7

Dependency Injection Framework from Google, Version 4.1

Jackson JSON Library, parser/generator for JSON, Latest 2.8.6

Quartz Java Job Scheduler - Latest Quartz 2.2.3

Testing

JUnit - JUnit 4.12, rating A+

Mockito - Mocking framework for java, 2.8.25 (License, MIT), Rating A

Cucumber-JVM is a pure Java implementation of Cucumber

Selenium - 3.4.0 - automating browser functions, Rating A+

Apache JMeter - Load Testing, version 3.2

Java Reports and Charting

Apache POI - Java API for Microsoft Documents, 3.16

iText - Dynamic PDF Library, 5.5.11, license, AGPL license

JasperReports Library - Report Engine in Java with templating, v6.3.1

JFreeChart, Generate a variety of charts types in Java, Latest 1.0.19

JVM Languages and Libraries

Functional Java - Functional Java Programming, version 4.7

Scala Language - Functional and Object Oriented Programming, version 2.12.2, Rating A

Clojure Language - Dynamic programming language

Rhino is an open-source implementation of JavaScript - Latest qualified version 1.7R5

Machine Learning, Rules Engines, Neural Networks

Drools - Open Rules Engine in Java, 2016-10-25: Drools 6.5.0.Final released

Heaton Research - Encog for Java, Neural Network and Machine Learning Libraries, latest version 3.4

Apache Hadoop - Version 2.8.0, platform for distributed processing

Weka - Machine Learning in Java, latest 3.8

Example POM Xml for Maven

Simple POM Xml for Spring WebApps

Dependency Tree of Webpp

Dependency Tree with Spring Boot - From command mvn dependency:tree

Simple POM Xml with Spring Boot - Simple Pom XML with just Spring Boot

Dependency Tree with Spring Boot - From command mvn dependency:tree

Contact

Twitter - twitter, berlinbrowndev2, or email berlin dot brown, google's email system

Updated on 5/2/2017, latest GA versions as of this date. Copyright Berlin Brown 2017.

Published on Github Pages