Java Webdav Server Library

Supports: Webdav level 2 / CalDav / CardDav

Integrate your java web app with desktop and mobile devices for files, calendars and contacts

Your data could be relational databases, file system, web services or any other data source

Supports Windows, Mac, Linux, Android and iOS devices, and pretty much everything else.


How do i use it?

Milton lets you use either of two programming styles

  • annotations framework. Create controller classes with annotated method such as @Get, @Move, etc. This is a high level framework which allows Milton to prevent most implementation mistakes.
  • Resource API. Create implementations of Kademi's resource interfaces. This is the oldest and most mature approach. It gives the most flexibility, but some aspects can be trickier to implement correctly then with annotations.


With annotations...

public List getBands(..) {
   return Band.findAll();

Or with interfaces

class SolarSystem implements CollectionResource {
public List getChildren() {
 files = new ArrayList();
 for( Planet s : getPlanets()){
 return files;

License information

  • A free, apache licensed, community edition for basic webdav.
  • An enterprise edition for advanced webdav capabilities such as Carddav, Caldav and DAV level2+



The enterprise edition is normally offered on a per server/JVM fee. OEM licensing is also available on request where there is no server counting.

Read about licensing



The tutorials are guided, step-by-step instructions with sample code, videos, screen shots and complete projects.

Webdav server tutorials

Source code

Milton source code is available on Github here



API reference docs and developer guide, see the milton documentation

Read the Manual


Contact us

You can contact the author directly from the contact page. I'm actually usually pretty responsive!

Please contact me if you would like

  • a quote
  • high level implementation advice
  • to give bigups

Contact form