Updating the dependencies

In the old milton most people included two jars - milton-api and milton-servlet. The API jar wasnt really just the API, it included the runtime implementations of the method handlers. The milton-servlet jar has the actual servlet that most people used.

The new milton has a different structure:

  • milton-api: Includes all of the compile time classes you need, but not the runtime classes
  • milton-server-ce: Depends on the API, and includes only the runtime classes required for DAV level 1 support (file browsing but not locking)
  • milton-server-ent: Depdends on the API and the CE jar, adds support for DAV level 2, Caldav and Carddav

So typically the old maven dependencies would look like this:

<dependency>
    <groupId>com.ettrema</groupId>
    <artifactId>milton-servlet</artifactId>
    <version>1.8.1.4</version>
</dependency>

And you should change it to this:

<dependency>
    <groupId>io.milton</groupId>
    <artifactId>milton-server-ce</artifactId>
    <version>2.2.1</version>
</dependency>

Next Article:

Fixing the imports