Java Development

Open-source Java projects categorized as Development | Edit details

Top 20 Java Development Projects

  • JHipster

    JHipster, much like Spring initializr, is a generator to create a boilerplate backend application, but also with an integrated front end implementation in React, Vue or Angular. In their own words, it "Is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures."

    Project mention: Building a front end for a database | reddit.com/r/SQL | 2022-05-14
  • Lombok

    Very spicy additions to the Java programming language.

    Project mention: Embracing Java 17 — Here’s What We Learned | reddit.com/r/java | 2022-03-28

    If you’re using Lombok’s @Data, you may face a similar question.

  • Mergify

    Automate your Pull Request with Mergify. Mergify is the most powerful merge queue tool that offers speculative checks, batch merges, and multiple queueing options. Coordinated with any CI and fully integrated to GitHub. Get started or request a demo!

  • Auto

    A collection of source code generators for Java.

    Project mention: TclTutor 3: Computer aided instruction package for learning the Tcl language | news.ycombinator.com | 2022-02-14

    There is no way you can tell that's valid Common Lisp without actually compiling and executing the code in the json-reader.lisp file. When the compiler gets to (enable-json-syntax), it sees that it is a macro so it executes its code at compile-time. That code then redefines the meaning of the { and [ characters to be the start of JSON objects/arrays (instead of their normal meaning in Common Lisp), and installs code telling Common Lisp how to parse JSON syntax, which is triggered when those characters are encountered in input. The example-object function shows an example of using it. Finally, (disable-json-syntax) is another macro, also executed at compile time, which undoes those changes to the Common Lisp syntax.

    Common Lisp did not invent the idea of allowing a program to dynamically alter the language syntax as it was being parsed; I believe the idea was first introduced in Maclisp, and from there spread to other LISP dialects (such as Franz Lisp and Interlisp) before finally being standardised in Common Lisp. The originators of Scheme intentionally decided to leave this feature out, but some implementations/descendants of Scheme have added it back in, such as Racket [1], Guile [2], and Chicken Scheme [3]. Other Lisp-family languages (such as Clojure or Emacs Lisp) have resisted calls to add it, despite encouragement from certain quarters.

    Earlier you spoke of "Tcl's lack of a grammar up against Scheme, Lisp", but if runtime-extensible syntax is a form of "lack of a grammar", then many Lisp family languages lack grammar too.

    Another language for which this is true (albeit to a significantly lesser degree), is Java. With Java, you can run arbitrary code at compile time by defining an annotation processor. The annotation processor code is run when the annotation is encountered. The annotation processor is allowed to issue compilation errors. It can also generate more source code for additional classes, which gets added to the compilation process, and your program may refer some of those generated classes, and hence need that generated code to compile–for an example see [4] from the Google AutoValue docs, where the "AutoValue_Animal" class being constructed in the create() method is dynamically generated by a processor which is triggered by the @AutoValue annotation. So, if your Java program contains annotations with an associated processor, and if you define "syntactically correct" as "compiles without any errors", then you can't know if the Java program is syntactically correct without executing arbitrary Java code.

    [0] https://gist.github.com/chaitanyagupta/9324402

    [1] https://docs.racket-lang.org/reference/Reader_Extension.html

    [2] https://www.gnu.org/software/guile/manual/html_node/Reader-E...

    [3] https://wiki.call-cc.org/man/5/Module%20(chicken%20read-synt...

    [4] https://github.com/google/auto/blob/master/value/userguide/i...

  • JavaParser

    Java 1-15 Parser and Abstract Syntax Tree for Java, including preview features to Java 13

    Project mention: Static Analysis at GitHub | news.ycombinator.com | 2022-03-30

    GitHub released a pretty good java parser that I think is is related to this work https://github.com/javaparser/javaparser

    I'm also using that parser using for a side project where developers can cross link their source code and host them statically: https://github.com/josephmate/OdinCodeBrowser#readme

  • Immutables

    Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included

    Project mention: [ANN] RecordBuilder v33 Released | reddit.com/r/java | 2022-04-08

    https://github.com/immutables/immutables/issues/1358 https://bugs.openjdk.java.net/browse/JDK-8281238

  • Spring Loaded

    Java agent that enables class reloading in a running JVM

    Project mention: What blocked you from migrating beyond Java 8? | reddit.com/r/java | 2022-05-03

    Hot reloading with spring-loaded doesn't support anything beyond JDK 8. New spring-devtools is much slower.

  • CircleMenu for Android

    :octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Android UI library made by @Ramotion

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • HotswapAgent

    Java unlimited redefinition of classes at runtime.

  • DCEVM

    Dynamic Code Evolution VM for Java 7/8

  • Mockneat

    MockNeat - the modern faker lib.

    Project mention: Datafaker, an alternative to using Production Data | reddit.com/r/java | 2022-01-04

    www.mockneat.com

  • Fibry

    The first Java Actor System supporting fibers from Project Loom

  • ADT4J

    adt4j - Algebraic Data Types for Java

  • AspectJ

  • SneakyThrow

    SneakyThrow is a Java library to ignore checked exceptions

  • Java Restify

    Java Restify - Simple interface-based HTTP client for Java

  • ProxyBuilder

  • Tail

    simple tail call optimization and stack safety for Java (by nrktkt)

  • Nasher

    A blogging system written in Java,

  • Better Error Pages

    Rails like error pages for Spring Boot applications that are only active in development.

  • QuickShell

    QuickShell is an Eclipse plugin to use Java JShell inside the Eclipse IDE.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-05-14.

Java Development related posts

Index

What are some of the best open-source Development projects in Java? This list will help you:

Project Stars
1 JHipster 19,527
2 Lombok 11,189
3 Auto 9,738
4 JavaParser 4,200
5 Immutables 3,108
6 Spring Loaded 2,632
7 CircleMenu for Android 1,841
8 HotswapAgent 1,817
9 DCEVM 1,530
10 Mockneat 474
11 Fibry 173
12 ADT4J 133
13 AspectJ 102
14 SneakyThrow 68
15 Java Restify 30
16 ProxyBuilder 18
17 Tail 17
18 Nasher 15
19 Better Error Pages 13
20 QuickShell 6
Find remote jobs at our new job board 99remotejobs.com. There are 9 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
scoutapm.com