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 |
