工作中有时候依赖一些特殊的jar包,没有源代码也没有发布到公共仓库,所以需要自己手工上传到自己的仓库中。因为使用得比较少(大部分都是直接命令maven clean deploy就可以了),所以有些不太熟悉
手工发布
- 必选参数3个:url, file和repositoryId
# url: 仓库地址, file: jar包地址, repositoryId: 仓库名字,与settings.xml中的<server><id>保持一致
mvn deploy:deploy-file -Durl=http://10.0.0.100/repository/maven/tenmao-repo/ -Dfile=E:\data\demo-1.0-SNAPSHOT.jar -DrepositoryId=tenmao-repo
- 其他可选参数
# 常用的有groupId, artifactId, packaging和pomFile
mvn deploy:deploy-file -Durl=http://10.0.0.100/repository/maven/tenmao-repo/ -Dfile=E:\data\demo-1.0-SNAPSHOT.jar -DrepositoryId=tenmao-repo -DgroupId=com.tenmao -DartifactId=demo -Dversion=1.0-SNAPSHOT -Dpackaging=jar -DpomFile=E:\data\pom.xml
- maven配置文件
settings.xml
<servers>
<server>
<id>tenmao-repo</id>
<username>tenmao</username>
<password>6ddf00d4f01611e99b226c92bf3ad140</password>
</server>
</servers>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>tenmao-repo</id>
<url>http://10.0.0.100/repository/maven/tenmao-repo</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
常见错误
-
Return code is: 401, ReasonPhrase: Unauthorized.
常见有两个原因:- 没有配置server的账号和密码(settings.xml)
- 参数漏掉了-DrepositoryId=maibao-snapshot