Apache Tamaya (incubating) provides a unopinionated and powerful configuration solution for developers on the JVM.


Configuration is one of the most prominent cross-cutting concerns similar to logging. Most of us already have been writing similar code again and again in each of our projects. Sometimes in a similar way but mostly always slightly different, but certainly with high coupling to your configuration backends. Given your code is reused or integrated some how, or deployed by some customers, struggling starts: not supported backends, different policies, missing combination and validation mechanisms and so on. Tamaya solves all this by defining a common API and backend SPI. Your code is decoupled from the configuration backend. There is no difference if your code is deployed on your dev box or in a clustered Docker environment in production, it stays the same!

For further information we recommend to have a look at our documentation resources:

You just wanna start right away

So here is five liner to start…​

  1. Add org.apache.tamaya:tamaya-core:0.5-incubating-SNAPSHOT to your dependencies.

  2. Add some config to META-INF/javaconfiguration.properties

  3. Access your configuration by Configuration.current() and use it.

  4. Look at the extensions modules to customize your setup!

  5. Enjoy!

And, yes, give feedback, so we can improve ;-)