Splitting software into multiple applications and libraries. Most practical ways!

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/java

Our great sponsors
  • talent.io - Download talent.io’s Tech Salary Report
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Truly a developer’s best friend
  • app

    {:git/url "https://github.com/company/app" :deps/root "./libraries/log" :sha "1469cc96b85c2c65a52df9e3a4914dde1b4c816f"}

  • bach

    🎼 Bach Builds (on(ly)) Modules

    Projects like bach do serve to make the case that, if the resolution/build library piece were filled in, building and maintaining a multi module or multi-whatever project using just javac/jar/etc with Java build programs would be practical.

  • talent.io

    Download talent.io’s Tech Salary Report. Median salaries, most in-demand technologies, state of the remote work... all you need to know your worth on the market by tech recruitment platform talent.io

  • coursier

    Pure Scala Artifact Fetching

    Could a Java project use a similar scheme? Probably, but the practicality of that is dependent on programatic resolution tools like coursier which don't exist in a convenient form for Java programmers quite yet.

  • meyvn

    Next-gen builds for Clojure

    His other ask about developing against multiple codebases, that's what snapshot artifacts are for. And then the rest of the talk is about how he's made deps.edn, which is basically Apache Ivy in Clojure. I say Ivy and not Maven because it's only focused on dependency resolution, but then of course someone makes https://github.com/danielsz/meyvn to use the deps.edn for compile and publishing too, by delegating it back to Maven 🤦.

  • tools.deps.alpha

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts