Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Maven中发布版本时出现多个错误?_Maven - Fatal编程技术网

在Maven中发布版本时出现多个错误?

在Maven中发布版本时出现多个错误?,maven,Maven,在尝试将版本推送到Maven时,我遇到了几个错误,包括: Permission denied (publickey). fatal: The remote end hung up unexpectedly 及 因此,这实际上只是我将git上托管的开源项目的发布推向市场的过程中的一个脑力消耗。这里的几乎所有内容都包含在单独的StackOverflow问题中,但是对于那些(像我一样)第一次这样做的人来说,概述是有用的 整个过程实际上只是两个命令: mvn发布:准备 mvn发布:执行 然而,正是

在尝试将版本推送到Maven时,我遇到了几个错误,包括:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly


因此,这实际上只是我将git上托管的开源项目的发布推向市场的过程中的一个脑力消耗。这里的几乎所有内容都包含在单独的StackOverflow问题中,但是对于那些(像我一样)第一次这样做的人来说,概述是有用的

整个过程实际上只是两个命令:

  • mvn发布:准备
  • mvn发布:执行
然而,正是这些微妙的细节吸引了我。这就是我需要遵循的过程:

  • 签入对项目的所有更改。如果有任何未经处理的本地更改,Maven将进行投诉
  • 确保你有一个好的计划。这将修复或防止
    权限被拒绝(公钥)。
    错误
  • 确保项目的版本是快照,并删除release.properties文件(如果存在)。这将修复或防止git commit命令失败。错误
  • 运行上面列出的Maven命令
  • 我将GPG密钥详细信息添加到~/.m2/settings.xm。下面列出了完整的文件
  • 此时,您将在暂存区等待未签名的人工制品。我只上传了一个父POM文件,所以我需要使用命令
    mvn-Pgpg gpg:sign and deploy file-Durl进行签名=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype nexus staging-DpomFile=pom.xml-Dfile=pom.xml
  • 现在,请按照以下说明进行发布:
  • 这是~/.m2/settings.xml文件

    <settings>
        <servers>
            <server>
                <id>sonatype-nexus-snapshots</id>
                <username>username</username>
                <password>password</password>
            </server>
            <server>
                <id>sonatype-nexus-staging</id>
                <username>username</username>
                <password>password</password>
            </server>
        </servers>
        <profiles>
            <profile>
                <id>gpg</id>
                <properties>
                    <gpg.passphrase>password</gpg.passphrase>
                    <gpg.keyname>12345678</gpg.keyname>
                </properties>
            </profile>
        </profiles>
    </settings>
    
    
    sonatype nexus快照
    用户名
    密码
    索纳型连接分期
    用户名
    密码
    gpg
    密码
    12345678
    
    即使在生成SSH并在Github上添加.pub内容之后,我仍然会收到一个Putty对话框,上面说
    没有可用的身份验证方法。服务器已发送公钥
    。你能帮忙吗?
    <settings>
        <servers>
            <server>
                <id>sonatype-nexus-snapshots</id>
                <username>username</username>
                <password>password</password>
            </server>
            <server>
                <id>sonatype-nexus-staging</id>
                <username>username</username>
                <password>password</password>
            </server>
        </servers>
        <profiles>
            <profile>
                <id>gpg</id>
                <properties>
                    <gpg.passphrase>password</gpg.passphrase>
                    <gpg.keyname>12345678</gpg.keyname>
                </properties>
            </profile>
        </profiles>
    </settings>