Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Deploying With Webdav

Info

As of Maven 2.0.9 it is no longer nessesary to add the build extension to your project.

The simplest way to enable webdav deployment is to add a build extension to your project:

Code Block
<project>
   ...
   <build>
      ...
      <extensions>
         <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-webdav</artifactId>
            <version>1.0-beta-2</version>
         </extension>
      </extensions>
   </build>
...
</project>

To use mvn deploy:deploy-file with webdav, save a simple pom.xml containing wagon-webdav as a build extension in the directory from which you execute 'mvn'. (You may need to rename the pom for the project you are deploying.)

Code Block
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.example</groupId>
   <artifactId>webdav-deploy-pom</artifactId>
   <packaging>pom</packaging>
   <version>1</version>
   <name>Webdav Deployment POM</name>

   <build>
      <extensions>
         <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-webdav</artifactId>
            <version>1.0-beta-2</version>
         </extension>
      </extensions>
   </build>

</project>

Example:

No Format
mvn deploy:deploy-file -Dfile=example.jar -DpomFile=example.pom -DrepositoryId=myrepo -Durl=dav:http://localhost:8080/archiva/repository/myrepo

You can also point Maven at an alternate pom file with -f on the command line.

Example:

No Format
mvn deploy:deploy-file -f /path/to/webdav-deploy-pom.xml -Dfile=example.jar -DpomFile=example.pom -DrepositoryId=myrepo -Durl=dav:http://localhost:8080/archiva/repository/myrepo

Alternate method, modifying the Maven distribution

Given that maven 2 doesn't currently include the wagon-webdav plug-in in its core, here's how to add it:

Code Block
svn co http://svn.apache.org/repos/asf/maven/components/branches/maven-2.0.x

add to maven-2.0.x/pom.xml

Code Block
<dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-webdav</artifactId>
        <version>1.0-beta-1</version>
</dependency>

add to maven-2.0.x/maven-core/pom.xml

Code Block
<dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-webdav</artifactId>
      <scope>runtime</scope>
</dependency>

then...

Code Block
mvn clean install
cd maven-core
mvn assembly:assembly
cd target

and finally install your new maven-2.0.5-SNAPSHOT-bin...

The examples from the guide to deploying 3rd party jars will now work in the following context:

Code Block
mvn deploy:deploy-file -Durl=dav:http://my.maven.repo/ -DrepositoryId=id.from.settings.xml -DpomFile=whatever.pom -Dfile=whatever.jar