背景:

项目需要上传jar包到maven私服,之前没接触过,经过一番琢磨解决了,这里记录下

jar包信息如下:

  <dependency>
            <groupId>rk.netDevice.sdk</groupId>
            <artifactId>netDeviceSDKP2</artifactId>
            <version>2.2.7</version>
  </dependency>

 

找到一篇类似的文章:https://blog.csdn.net/m0_37505412/article/details/139780600

但是这篇不满足要求:

原因有二:

1. maven install 是用来把jar包安装到本地仓库,而不是远程私服

2.他的配置文件操作略显繁琐

 

这里记录下上传jar包到本地仓库和远程仓库的操作步骤:

  • 安装jar包到本地Maven仓库

要将本地JAR文件安装到Maven仓库,你可以使用mvn install:install-file命令。以下是如何执行此操作的步骤和示例代码:

  1. 打开命令行界面(例如终端或命令提示符)。
  2. 使用mvn install:install-file命令,并提供必要的参数。

参数包括:

  • -Dfile=<path-to-jar>:指定JAR文件的路径。
  • -DgroupId=<group-id>:设置JAR的组ID。
  • -DartifactId=<artifact-id>:设置JAR的构件ID。
  • -Dversion=<version>:设置JAR的版本。
  • -Dpackaging=<packaging>:指定打包类型,通常是jar

示例代码:

shellmvn install:install-file -Dfile=path/to/your/jarfile.jar \
-DgroupId=com.example \
-DartifactId=example-jar \
-Dversion=1.0.0 \
-Dpackaging=jar

替换path/to/your/jarfile.jarcom.exampleexample-jar1.0.0为你的JAR文件路径和相应的组ID、构件ID和版本。

执行上述命令后,JAR将被安装到你的本地Maven仓库中,你就可以在项目的pom.xml文件中像使用任何其他Maven依赖一样引用它了。

 

  • 安装jar包到远程maven仓库
 将JAR包安装到远程Maven仓库通常涉及到更复杂的步骤,因为这通常意味着你需要将你的库发布到一个公共或私有的Maven仓库服务器,如Nexus, Artifactory, 或者Maven Central等。以下是一般步骤和考虑因素:

1. 准备你的项目

首先,确保你的项目是一个Maven项目,并且已经正确配置了pom.xml文件。这包括:

  • groupId:项目的唯一标识符,通常是你的域名反转。
  • artifactId:项目的名称。
  • version:项目的版本。

2. 构建项目

使用Maven命令mvn clean install来构建你的项目并生成JAR包。这将确保所有依赖都被正确解决,并且你的项目可以成功构建。

3. 配置Maven以部署到远程仓库

你需要在pom.xml文件中配置Maven的部署插件(maven-deploy-plugin),以便将构建的输出部署到远程仓库。这包括设置远程仓库的URL和认证信息(如果需要的话)。

对于私有仓库(如Nexus或Artifactory),你的pom.xml可能会包含类似于以下的配置:

xml<distributionManagement>
<repository>
<id>your-repository-id</id>
<name>Your Repository Name</name>
<url>http://your-repository-url/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>your-snapshot-repository-id</id>
<name>Your Snapshot Repository Name</name>
<url>http://your-repository-url/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>

同时,你需要在Maven的settings.xml文件中配置仓库的认证信息(通常位于&#126;/.m2/settings.xml):

xml<servers>
<server>
<id>your-repository-id</id>
<username>your-username</username>
<password>your-password</password>
</server>
<server>
<id>your-snapshot-repository-id</id>
<username>your-username</username>
<password>your-password</password>
</server>
</servers>

4. 部署到远程仓库

使用Maven命令mvn deploy来将你的项目部署到远程仓库。这个命令会读取pom.xmlsettings.xml中的配置,将构建的输出(JAR包和POM文件)上传到指定的远程仓库。

注意事项

  • 版本控制:确保你发布的版本号是唯一的,以避免覆盖之前的版本。
  • 签名:对于Maven Central等公共仓库,你可能需要对你的JAR包进行签名。
  • 文档和元数据:确保你的POM文件包含了足够的元数据,如项目描述、许可证信息等。
  • 依赖:如果你的库依赖于其他库,请确保这些依赖也已经被正确配置在POM文件中。

对于Maven Central,你还需要遵循特定的发布流程,包括使用PGP签名你的构件,以及通过Nexus Staging Repository Manager等工具来管理你的发布。这些步骤可能更加复杂,并需要更多的配置和文档工作。

 

但是这种方式对我来说还是略显繁琐,后来想到maven私服有页面可以操作,于是试了下,还真成功了,以下为操作步骤:

1.查找需要上传的maven仓库

jenkins maven settings文件的配置,引用的是哪个maven仓库

我这里看到是 maven-public

然后在maven页面里找仓库配置

 在上传页面查找需要上传的目标仓库,目标仓库找到

 

2.上传jar包到目标仓库

按如上填入,然后点上传即可

 最后在搜索里搜索jar包,查看是否上传成功

 

遇到的问题:

1.上传时 extension为必填项,为文件的扩展名,如 jar

2.必须在内网网页上传,映射到外网的网页上传会报错,超时

3.上传时 Generate a POM file with these coordinates 选项必须要勾上,否则引用会报错

 

参考文档:

百度AI

https://blog.csdn.net/m0_37505412/article/details/139780600

https://blog.csdn.net/qq_35995940/article/details/78392968

https://blog.csdn.net/yjclsx/article/details/88231540

posted on 2024-07-29 16:22  06  阅读(3)  评论(0编辑  收藏  举报