maven推送到远程仓库

3,319 阅读1分钟

命令

推送jar

# snapshot仓库
mvn deploy:deploy-file -Dfile=<file.jar> -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=<version> -Dpackaging=jar -DrepositoryId=snapshots -Durl=<url> -DpomFile=<file.pom>

# release 仓库
mvn deploy:deploy-file -Dfile=<file.jar> -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=<version> -Dpackaging=jar -DrepositoryId=releases -Durl=<url> -DpomFile=<file.pom>

注意

注意 -DpomFile=<pomFile>,如果不指定则需要手动指定groupId、artifactId、version,生成的pom文件中也只包含指定内容,极大可能造成dependencies、parent等关系丢失。

  • install,打包到本地
  • deploy,部署至远程

上传pom文件

mvn deploy:deploy-file -Dfile=<file.pom> -DrepositoryId=<repositoryId> -Durl=<url> -DpomFile=<file.pom> -Dpackaging=pom

intellij配置命令

# -Dmaven.test.skip 跳过测试
# -Dmaven.source.skip 跳过源码
# -e 打印部署过程
# -f 指定文件
clean deploy -Dmaven.test.skip=true  -Dmaven.source.skip -e -f pom.xml

-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类

image.png

问题

上传jar包出错:Cannot deploy artifact from the local repository

上传的jar和pom位于本地repository下,会出错。将文件移至除repository目录外的任意目录下,可上传成功