Skip to content

Maven Multimodule deploy via WebDAV Wagon

2008 March 26
by Nayan Hajratwala

Although a single, independent module deployment worked fine, I couldn’t get my multi-module deploy working properly via the webdav wagon.

I’m talking about the simple mvn deploy command (versus mvn deploy:deploy-file), which must work if you ever expect to be able to do a mvn release:perform.

The error that I was seeing was:

Error deploying artifact: Unsupported Protocol: 'dav': Cannot find
wagon which supports the requested protocol: dav

Component descriptor cannot be found in the component repository:
org.apache.maven.wagon.Wagondav.

In the comments section of the Maven User Guide, there is blurb saying to put a bunch of libraries in the $M2_HOME/lib directory. While it seems odd, it fixed my problem. The comments are for wagon 1.0-beta-1. Here is the minimal list of JAR files that I needed to get it going for wagon 1.0-beta-2 (NOTE — You must use the older 2.0.2 version of httpclient):

http://repo1.maven.org/maven2/commons-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar
http://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar
http://repo1.maven.org/maven2/slide/slide-webdavlib/2.1/slide-webdavlib-2.1.jar
http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-webdav/1.0-beta-2/wagon-webdav-1.0-beta-2.jar

(Update 2008-04-10): Maven 2.0.9 has just been released, which includes the webdav wagon by default, and does not require any of this configuration — yay!)