「reactorプロジェクトリストにSNAPSHOTプロジェクトがありません。」Jenkins Mavenリリースプラグインを使用する場合


105

Jenkinsの最新バージョンとMavenリリースプラグインでSVN、Maven 3.0.3を使用しています。Mavenリリースプラグイン(Jenkins経由)を使用してドライランを実行しようとしているため、オプションを実行しています…

Executing Maven:  -B -f /scratch/jenkins/workspace/myproject/myproject/pom.xml -DdevelopmentVersion=53.0.0-SNAPSHOT -DreleaseVersion=52.0.0 -Dusername=***** -Dpassword=********* -DskipTests -P prod -Dresume=false -DdryRun=true release:prepare

しかし、予行演習は次のエラーで死にます…

[JENKINS] Archiving /scratch/jenkins/workspace/myproject/myproject/pom.xml to /home/evotext/hudson_home/jobs/myproject/modules/org.mainco.subco$myproject/builds/2013-11-18_16-09-14/archive/org.mainco.subco/myproject/52.0.0/myproject-52.0.0.pom
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project myproject: You don't have a SNAPSHOT project in the reactor projects list.
cause : You don't have a SNAPSHOT project in the reactor projects list.
    Stack trace : 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal  org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project myproject: You don't have a SNAPSHOT project in the reactor projects list.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:117)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
    at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:178)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at hudson.maven.Maven3Builder.call(Maven3Builder.java:129)
    at hudson.maven.Maven3Builder.call(Maven3Builder.java:67)
    at hudson.remoting.UserRequest.perform(UserRequest.java:118)
    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
    at hudson.remoting.Request$2.run(Request.java:326)
    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.maven.plugin.MojoFailureException: You don't have a SNAPSHOT project in the reactor projects list.
    at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:219)
    at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:181)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 30 more
Caused by: org.apache.maven.shared.release.ReleaseFailureException: You don't have a SNAPSHOT project in the reactor projects list.
    at org.apache.maven.shared.release.phase.CheckPomPhase.execute(CheckPomPhase.java:111)
    at org.apache.maven.shared.release.phase.CheckPomPhase.simulate(CheckPomPhase.java:123)
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:199)
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:140)
    at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:103)
    at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:211)
    ... 33 more

私のSVNチェックアウト方法は「常に新しいコピーをチェックアウトする」に設定されており、スナップショットリポジトリに問題のスナップショットバージョンがありますが、リリースリポジトリにはありません。「リアクタープロジェクトリスト」を取得して自分のスナップショットリポジトリを確認する方法はありますか?

編集:プロジェクトがそのバージョンを取得するpomのスニペットを含めています-親から継承します

    <parent>
            <artifactId>subco</artifactId>
            <groupId>org.mainco.subco</groupId>
            <version>52.0.0</version>
    </parent>

2
あなたの中に何versionがありますpom.xmlか?
MariuszS 2013年

回答:


156

スナップショットではないアーティファクトを解放しようとしています。つまり、アーティファクトのバージョン番号は3.0.3のようになります。そのバージョン番号は、すでにリリースされていることを意味します。リリースをリリースすることはできません。間に変化はないので、意味がありません。

あなただけのスナップショットバージョンをリリースすることになっています。つまり、バージョン番号は3.0.3-SNAPSHOTのようになります。


1
私は自分のバージョンを取得する方法を追加しました-私はそれを親pomから継承しています。悲しいことに、バージョンを変更して「-SNAPSHOT」を含めると、「プロジェクトmyproject:Canで目標org.apache.maven.plugins:maven-release-plugin:2.0:prepare(default-cli)を実行できませんでした」というエラーが表示されます。 「依存関係がリリースされていないためプロジェクトをリリースしない」
Dave

@Dave親もスナップショットにする必要があると思います。
Daniel Kaplan

私はこれについて2番目のSO質問を開く必要があるかもしれませんが、親pomにはSNAPSHOTバージョンがあります。 。親pomでバージョンを変更することを言及していましたか?
デイブ

1
エラーメッセージは、「reactorプロジェクトリスト」の意味を知らない限り、自明ではないと思います。非常に明確な答えをありがとう。

10
「リリースをリリースできません。」のようなメッセージを追加するだけで理解しやすくなります。彼らが思いついたメッセージは「原子炉プロジェクトリストにスナップショットプロジェクトがありません」です。...誰がこのメッセージを本来の方法で解釈するでしょうか?
seba.wagner

8

Jenkinsワークスペースがクリーンアップされていないか、FINALバージョンが内部にありpom.xmlます。Jenkinsには、ワークスペースをクリーンアップするためのチェックアウト戦略があります。

詳細:Mavenリリースプラグイン-SNAPSHOTプロジェクトが必要

チェックアウト戦略オプション:

  • 最初にバージョン管理されていないファイル/無視されたファイル、およびによって無視されたファイル/ディレクトリを削除して、クリーンチェックアウトをエミュレートしてからsvn:ignore、を実行しsvn updateます。
  • 常に新しいコピーをチェックしてください
  • 更新前にsvn update、可能な限り使用svn revertする

「ジェンキンスにはワークスペースをクリーンアップするオプションがあります」とはどういう意味ですか?これらのオプションはどこにありますか?Jenkinsのワークスペースクリーンアッププラグインについて話していますか?
Dave、

チェックアウト戦略オプション
MariuszS 2013年

1
私にとってはそうでした、ジェンキンスのワークスペースをクリアした後、それは機能しました。
rbhawsar 2017

1

以前にビルドしたコードベースから新しいバージョンにプロジェクトPOMファイルを追加します。

1.0.1-スナップショット<version>1.0.1-SNAPSHOT</version>


0

チェックアウト戦略を「バージョン管理されていないファイル/無視されたファイルを最初に削除してからsvn updateを実行してクリーンなチェックアウトをエミュレートする」に変更すると、私にとってはうまくいきました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.