mvn install:install-file -Dfile=path-to-your-artifact-jar -DgroupId=your.groupId
-DartifactId=your-artifactId -Dversion=your-version -Dpackaging=jar -DgeneratePom=true
2.如果是自建的私服,并且是第三方j(luò )ar的話(huà),就要通過(guò)webdav插件來(lái)上傳,Maven2.0.5宣稱(chēng)它已經(jīng)support natively webdav protocol
to upload artefacts,并且聲稱(chēng)通過(guò)如下的命令行腳本就可以完成deploy的工作:
(參見(jiàn)http://docs.codehaus.org/display/MAVENUSER/Upload+artifacts)
mvn deploy:deploy-file -DrepositoryId=your-repository-id -Durl=dav:your-repository-url your.groupId
-DgroupId=your-artifactId -DartifactId= ) -Dversion= your-version -Dpackaging= jar
-Dfile=jar-name
可以我們兩個(gè)人花了半天的時(shí)間,才發(fā)現這些聲明純屬扯淡!存在的問(wèn)題如下:
1) 當前的Maven版本根本就沒(méi)有對Webdav提供native的支持,
2) 我們仍然需要手工創(chuàng )建一個(gè)pom.xml,把它和jar包放在同一個(gè)目錄下,
3) 在pom.xml里面,我們還要指定webdav的擴展,同時(shí),pom文件中還需要指定artifactId, groupId和version,
4pom文件的名字必須是pom.xml!錯了就無(wú)法找到該文件!
下面是一個(gè)完整的pom.xml和命令行腳本:
- <?xml version="1.0" encoding="UTF-8"?>
- <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>org.eclipse.swt</groupId>
- <artifactId>win32</artifactId>
- <version>3.2.0</version>
- <build>
- <extensions>
- <extension>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-webdav</artifactId>
- <version>1.0-beta-1</version>
- </extension>
- </extensions>
- </build>
- </project>
命令行:
mvn deploy:deploy-file -Dfile=win32.jar -Durl=dav:http://localhost:8080/repository -DpomFile=pom.xml
如果是把項目的artifact往私服上上傳,就要方便的多了,首先在pom中指定wagon-webdav的擴展,如上所示。然后加入distributionManagement:
- <distributionManagement>
- <repository>
- <id>YOUR_REPOSITORY_FOR_RELEASES_ID</id>
- <name>Central Repository</name>
- <url>dav:YOUR_REPOSITORY_FOR_RELEASES_URL</url>
- </repository>
- <snapshotRepository>
- <id>YOUR_REPOSITORY_FOR_SNAPSHOTS_ID</id>
- <name>Central Development Repository</name>
- <url>dav:YOUR_REPOSITORY_FOR_SNAPSHOTS_URL</url>
- </snapshotRepository>
- </distributionManagement>
之后就可以運行mvn deploy了
聯(lián)系客服