Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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
Java 获取SonaType';当使用git时,释放插件。还是更好的选择?_Java_Git_Maven_Maven 3_Sonatype - Fatal编程技术网

Java 获取SonaType';当使用git时,释放插件。还是更好的选择?

Java 获取SonaType';当使用git时,释放插件。还是更好的选择?,java,git,maven,maven-3,sonatype,Java,Git,Maven,Maven 3,Sonatype,注:很长的问题,本质上是:我想知道如何通过maven发布一个由我控制的现有项目的神圣版本。目前我使用sonatype及其插件,但他们的发布插件不允许我将SHA1作为发布。如果已经有现成的解决方案,只要您告诉我如何修改pom.xml(链接如下),我随时都会采用它们 我有一个Java项目(在上可用并且已经在使用中),我在Ubuntu 12.1064位上使用Intellij IDEA 12.0.1(社区版)开发了这个项目。安装的maven版本是我的发行版(3.0.4)捆绑的版本 我的问题在于项目的po

注:很长的问题,本质上是:我想知道如何通过maven发布一个由我控制的现有项目的神圣版本。目前我使用sonatype及其插件,但他们的发布插件不允许我将SHA1作为发布。如果已经有现成的解决方案,只要您告诉我如何修改pom.xml(链接如下),我随时都会采用它们

我有一个Java项目(在上可用并且已经在使用中),我在Ubuntu 12.1064位上使用Intellij IDEA 12.0.1(社区版)开发了这个项目。安装的
maven
版本是我的发行版(3.0.4)捆绑的版本

我的问题在于项目的
pom.xml

我跟着。我已经设置了GPG等,一切正常。我可以使用他们的插件发布,我猜想,这是由
pom.xml
中的以下行触发的:

<parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
</parent>
  • git-rebase-before
    :摆脱更改git-uri、挤压/重写等的提交,以便垃圾提交消失,发布消息包含更改的简短日志

  • 创建真正的标签
  • 推到github
  • 当然,这意味着Maven发行版(我保证它是健康的)与Github项目上同等版本的SHA1不匹配。我想消除这种差异

    那么,如何让Sonatype发布插件发挥作用呢?也就是说,我如何告诉它:

    • 信任本地git存储库,而不是从
      developerConnection
      创建的
      git克隆
    • 不要做出无用的承诺
    • 让我自定义发布消息
    或者有没有更好的选择,让我不必经历这些繁琐的过程

    详细信息可按需提供。

    发布插件是“官方”maven发布插件,而不是特殊类型的版本。 对于准备和执行目标,尤其是
    localCheckout
    pushChanges
    suppressCommitBeforeTag
    (尽管我不确定最后一个是否能满足您的需要)

    如果您通过更改为发布版本并添加标记来手动准备项目,您甚至可以省略发布:准备,而只运行发布:执行-DlocalCheckout=true
    ,这(理论上)将从您的标记构建并将这些工件推送到OSSRH。

    发布插件是“官方的”maven发布插件,不是特殊类型的版本。 对于准备和执行目标,尤其是
    localCheckout
    pushChanges
    suppressCommitBeforeTag
    (尽管我不确定最后一个是否能满足您的需要)


    如果您通过更改为发布版本并添加标记来手动准备项目,您甚至可以省略
    release:prepare
    ,只运行
    release:perform-DlocalCheckout=true
    ,这(理论上)将从您的标记构建并将这些工件推送到OSSRH。

    有趣的信息!我会测试并让你知道它是如何进行的。有趣的信息!我会测试一下,让你知道情况如何。
    mvn release:clean
    mvn release:prepare
    mvn release:perform