• 全流程配置Ubuntu终端实现Maven中央仓库包上传


    1. maven环境安装

    既然是打包上传,那么maven环境得有,而maven则又需要借助jdk,所以第一步就是安装jdk

    1. sudo apt-get install openjdk-8-jdk

    安装完毕之后,执行下java命令确认下是否安装准确

    第二步就是安装maven

    直接到官网找对应得下载包

    1. # 1\. 下载
    2. wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
    3. # 2\. 解压
    4. tar -zxvf apache-maven-3.8.5-bin.tar.gz
    5. # 3\. 配置环境变量
    6. vim ~/.profile
    7. # 注意下面得地址,根据实际的进行替换
    8. export MAVEN_HOME="/home/yihui/soft/apache-maven-3.8.5/bin"
    9. export PATH=$PATH:$MAVEN_HOME
    10. ## 4\. 让配置生效
    11. source ~/.profile

    到此maven就算配置完成了,可以通过执行 mvn 命令来验证下是否ok

    2. gpg配置

    相比于之前因为mac系统老旧安装这个折腾很久来说,这次安装可以说无比顺畅了,直接apt即可

    1. sudo apt-get install gdb

    安装完之后,就是配置密钥了

    1. # 生成密钥对
    2. # 输入用户名 + 邮箱,请记住这个密码,后面上传jar包的时候会用到
    3. gpg --gen-key

    注意:上面这个key的密钥非常重要,以后每次上传包进行签名的就是它

    查看本地密钥

    1. gpg --list-keys

    正常返回结果如下

    1. pub rsa3072 2022-06-02 [SC] [expires: 2024-06-01]
    2. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (<- 注意这个就是我们需要上传的公钥id)
    3. uid yihuihui <yihuihuiyi@gmail.com>
    4. sub rsa3072 2022-06-02 [E] [expires: 2024-06-01]

    接下来就是上传公钥id到密钥服务器

    1. ## 上传公钥
    2. gpg --keyserver hkp://keyserver.ubuntu.com:11371 --send-keys 公钥ID
    3. ## 查看公钥上传情况
    4. gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 公钥ID

    上传成功之后,查看返回如下

    1. gpg: key 274D20CF942E6787: "yihuihui " not changed
    2. gpg: Total number processed: 1
    3. gpg: unchanged: 1

    4. 配置.m2/setting.xml

    最后剩下的配置就是mvn上传仓库的账号信息

    1. <servers>
    2. <server>
    3. <id>ossrh</id>
    4. <username>user</username>
    5. <password>password</password>
    6. </server>
    7. </servers>

    5. 上传

    到这里就可以愉快的发布包到maven中央仓库了,当然前提是对应的项目已经配置好了,这里以 github.com/liuyueyi/qu…

    1. # 打包上传
    2. mvn clean deploy -DskipTests=true -P release

    执行上面打包上传之后,却发现没有提示输gpg密码的地方,果不其然最后的上传结果也是失败,提示信息如下

    1. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.6:sign (sign-artifacts) on project quick-media: Exit code: 2 -> [Help 1]
    2. [ERROR]
    3. [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    4. [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    5. [ERROR]
    6. [ERROR] For more information about the errors and possible solutions, please read the following articles:
    7. [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

    当然错误原因我们也能猜测到,但是怎么解决呢?

    stackoverflow 上有一个类似的提问其中一个回答可以解决这个问题 failed to execute goal org.apache.maven.plugins:maven-gpg-plugin解决方法选的是第二个回答,执行下面这个命令

    1. export GPG_TTY=$(tty)

    再次执行上传,就可以了。

  • 相关阅读:
    RNA 20. SCI 文章中单样本免疫浸润分析 (ssGSEA)
    CAD有生僻字如何打出来、如何提交软件相关问题或建议?
    springboot整合websocket上传文件
    ACMG 2.0 支持零信任网络模式
    抢票攻略来了!疫情后的首届云栖大会
    TensorFlow学习笔记--(1)张量的随机生成
    μC/OS-II---计时器管理1(os_tmr.c)
    node.js笔记
    基于SpringBoot的大学生就业与创业管理平台
    C#开源免费的开发效率提升利器:DevToys开发人员的瑞士军刀!
  • 原文地址:https://blog.csdn.net/Java_ttcd/article/details/126521572