Deploying third-party artifacts to a local repository with WebDAV
This guide outlines how to deploy third party jars to a local repository over WebDAV. Using WebDAV requires (i) setting up the login data of the WebDAV repository and (ii) providing a current Webdav wagon extension to maven.
- Configure the Webdav repository in
~/.m2/settings.xml
.<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <servers> <server> <id>mywebdavserver</id> <username>user</username> <password>***</password> </server> </servers> </settings>
- Create a dummy pom file which provides maven with information on the required Webdav wagon:
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>webdav-deploy</artifactId> <packaging>pom</packaging> <version>1</version> <name>Webdav Deploy</name> <build> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav-jackrabbit</artifactId> <version>3.0.0</version> </extension> </extensions> </build> </project>
- upload the artifact to the repository with
mvn
:mvn deploy:deploy-file -Dfile=<path-to-file> \ -DgroupId=<group-id> \ -DartifactId=<artificat-id> \ -Dversion=<version> \ -Dpackaging=<packaging> \ -DrepositoryId=mywebdavserver \ -Durl=dav:<url-to-the-webdav-server>
Example: deploy the latest libsvm version to our local repository.
mvn deploy:deploy-file\ -Dfile=libsvm.jar \ -DgroupId=tw.edu.ntu.csie \ -DartifactId=libsvm \ -Dversion=3.22 \ -Dpackaging=jar \ -DrepositoryId=semanticlab.net -Durl=dav:http://semanticlab.net/deploy/
Leave a comment