maven命令上传jar包到nexus

简介: maven命令上传jar包到nexus

系列文章目录

一、Linux 安装Nexus3.42.0-01图文教程

二、nexus创建Maven私服图文教程

三、使用nexus上传jar包图文教程

四、IDEA Maven项目上传jar包到nexus仓库图文教程

五、IDEA 中使用maven从nexus中下载jar包 图文教程

maven命令上传jar包到nexus

前言

对于集成了maven的项目如idea中的maven项目可以通过deploy:deploy命令将项目部署到远程存储库中。那么对于没有集成maven的项目来说,如何将项目部署到远程存储库呢?本文主要介绍的是通过直接使用maven命令上传资源到远程存储库(nexus)中。

参考官网地址:

Apache Maven 部署插件 – 用法

Maven – 可用的插件 (apache.org)

一、maven是什么?

Maven一款专门为 Java 项目提供构建和依赖管理支持的工具


Maven作为依赖管理工具,能够管理规模庞大的jar包,能够将依赖的jar进行下载。


Maven作为构建管理工具,当我们使用IDEA进行开发是,构建的工作是IDEA替我们做的,离开IDEA环境之后,需要专门的工具。Maven能够帮助我们进行构建为jar包


二、使用

1. 首先在在maven的settings.xml文件中添加

settings.xml文件(示例):

!--nexus服务器-->
  <servers>
<!--id为对应资源库id-->  
    <server>  
        <id>tfjy-snapshot-hosted</id>  
        <username>admin</username>  
        <password>nexusb-test</password>  
    </server>
    <server>  
        <id>tfjy-hosted</id>  
        <username>admin</username>  
        <password>nexusb-test</password>  
    </server>      
  </servers>  

2.对应的maven命令

maven命令语法:


mvn deploy:deploy-file

-DgroupId=xxx.xxx.xxx (对应pom文件标签)

-DartifactId=xxx-xxx (对应pom文件标签)

-Dversion=xxx (对应pom文件标签)

-Dpackaging=xxx (上传的类型)

-Dfile=xxx:\xxx\xxx. (文件路径)

-DpomFile=xxxx表示需要上传的jar包对应的Pom文件的绝对路径。

-Durl=http://xxx.xxx.x.x:xxxx/xxx(上传的服务器)

-DrepositoryId=xxxxx(服务器的表示id,setting.xml文件中配置的serverId,用来关联私服的用户名和密码)


注意事项:如果当前上传的Jar还依赖了其他的Jar,需要同时上传当前Jar的pom文件。


2.1上传资源为pom或jar包到远程资源库

代码示例:打开Windows 命令提示符(Windows+R 输入cmd并回车);输入mvn命令,此处上传的是仅有pom文件的资源。

mvn deploy:deploy-file -DgroupId=com.tfjybj -DartifactId=metaversePro-backend -Dversion=1.0-SNAPSHOT -Dpackaging=pom -Dfile=F:\maven\metaversePro-backend\1.0-SNAPSHOT\metaversePro-backend-1.0-SNAPSHOT.pom  -Durl=http://xxxxx/repository/tfjy-snapshot-hosted/ -DrepositoryId=tfjy-snapshot-hosted

结果截图:


c9f624f1dcec4a8f9b6a45d4042dabd9.png

在远程资源库中进行查看,可以看到上传的资源已经上传上来了。

9d1d5df86d7a4d3b8a21a2e9f991b737.png


2.2上传jar包并且此jar还依赖了其他的Jar,同时上传当前Jar的pom文件

代码示例:不同的是需要添加-DpomFile=

mvn deploy:deploy-file "-DgroupId=com.tfjybj" "-DartifactId=metaversePro-backend" "-Dversion=1.0-SNAPSHOT" "-Dpackaging=jar" "-Dfile=E:\Dynamic Time Programma\metaversePro-backend\metaversePro-gateway\target\metaversePro-gateway-1.0-SNAPSHOT.jar" "-DpomFile=E:\Dynamic Time Programma\metaversePro-backend\metaversePro-gateway\pom.xml"  "-Durl=http://xxxx/repository/tfjy-snapshot-hosted/" "-DrepositoryId=tfjy-snapshot-hosted"

结果截图:

5f21b86a75fb4cd2bad1cd46606d05ec.png


在远程资源库中进行查看,可以看到上传的资源已经上传上来了。


54c5b250ad6e42ecbb451d0b9029ec52.png

问题记录

1.Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy-file (default-cli) on project Failed to deploy artifacts: Could not transfer artifact with status code 401

1156b73146fe42759b641f4e5b681e36.png

解决方法:一般为身份验证凭证没有通过,校验settings.xml配置中nexus的账号密码是否正确,和使用的settings.xml文件是否正确,是否使用了其他的settings.xml文件。


2.Cannot deploy artifact from the local repository

b8e7252e4e3240edbfbd4a7445c7b07d.png

解决方法:maven的 deploy:deploy-file 命令,这种方法时要注意的是如果你要安装的jar和pom是位于本地repository的目录下,这个命令就会出错 (Cannot deploy artifact from the local repository…), 解决方法:将要安装的jar和pom copy到其它目录再安装,只要不在本地仓库目录都应该可以.


3.Maven报错-The goal you specified requires a project to execute but there is no POM in this directory…

f2b1733111944d1d91cf3583c1471bb3.png

解决方法:给命令打上双引号(“”)


示例:

mvn deploy:deploy-file "-DgroupId=com.tfjybj" "-DartifactId=metaversePro-backend" "-Dversion=1.0-SNAPSHOT" "-Dpackaging=jar" "-Dfile=E:\Dynamic Time Programma\metaversePro-backend\metaversePro-gateway\target\metaversePro-gateway-1.0-SNAPSHOT.jar" "-DpomFile=E:\Dynamic Time Programma\metaversePro-backend\metaversePro-gateway\pom.xml"  "-Durl=http://xxxx/repository/tfjy-snapshot-hosted/" "-DrepositoryId=tfjy-snapshot-hosted"

参考链接
71111f9cea0c4a0faef12274980f05c8.png


总结

通过maven官网了解到通过maven插件部署到远程存储库主要有两种方式,一种是项目集成了maven可以通过maven的deploy:deploy实现;另一种是项目没有集成maven我们可以在命令提示符中使用deploy:deploy-file命令实现。

目录
相关文章
|
2月前
|
Java 测试技术 Maven
maven 打jar包:mvn clean package
maven 打jar包:mvn clean package
55 7
|
25天前
|
Java Linux 测试技术
Maven命令大全:从安装到部署,一篇文章带你玩转Maven
本文由木头左介绍Maven,一个用于Java项目管理的工具,涉及Maven的安装配置(Windows和Linux)及核心命令,包括install、package、compile、clean、deploy、test、verify和site。通过这些命令,可以实现构建、打包、编译、测试、部署和生成项目站点等操作。
|
10天前
|
Java Shell Maven
使用Nexus上传JAR包的两种方法
使用Nexus上传JAR包的两种方法
18 0
|
10天前
|
Java 关系型数据库 MySQL
Maven如何快捷导入jar包
Maven如何快捷导入jar包
|
11天前
|
Java Maven
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
17 0
|
13天前
|
Java Maven
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
17 0
|
13天前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
15 0
|
27天前
|
Java Maven
蓝易云 - Maven使用mvn命令时跳过test的参数
另外,还有一个参数 `-Dmaven.test.skip=true`也可以用来跳过测试,但是这个参数不仅跳过测试,还会跳过编译测试代码的阶段。所以,如果你的项目中有其他模块依赖测试代码,那么使用 `-Dmaven.test.skip=true`可能会导致构建失败。在大多数情况下,推荐使用 `-DskipTests`参数。
10 0
|
1月前
|
NoSQL Java 网络安全
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
|
2月前
|
Java Maven Spring
maven打包插件maven-jar-plugin与spring-boot-maven-plugin
该内容介绍了两个Maven打包插件:`spring-boot-maven-plugin`和`maven-jar-plugin`。`spring-boot-maven-plugin`是Spring Boot项目的默认打包工具,它会包含项目类文件、资源和依赖的jar,但不会解编译依赖。而`maven-jar-plugin`则用于创建普通JAR包,不包含依赖。文中还展示了两个插件打包后的效果差异,并强调了持续练习以掌握这些技能的重要性。
41 0

推荐镜像

更多