2013-08-07 16 views
16

mavenのproject.version/version変数をコマンドラインでオーバーライドすることは可能でしょうか?mavenコマンドラインからproject.versionをオーバーライド

次は動作しません:あなたの助けを事前に

mvn deploy -Dversion=1.0-test-SNAPSHOT 
mvn deploy -Dproject.version=1.0-test-SNAPSHOT 

感謝を!

私のpom.xmlは次のとおりです。

<project> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>just.another.company.name</groupId> 
    <artifactId>my-pom</artifactId> 
    <version>1.3-SNAPSHOT</version> 
    <name>My Module</name> 
    <packaging>jar</packaging> 
    <description>POM Project for My Module</description> 
</project> 
+0

こんにちはワールドプロジェクトを試してみませんか? – mebada

+1

@メーバダ、もし私がこのプロジェクトを何度も試していないのであれば、私は聞いていません。あなたがそれを知っていれば、ただソリューションを提供するのはなぜですか? –

+0

あなたのpomを参照して、単にあなたはそれを行うことはできません... project.versionは静的でなければなりません – mebada

答えて

32

project.versionを単に上書きすることはできません。試してみてください:

mvn versions:set -DnewVersion=<version> 

通常、私はあなたがすべて含まれているスーパーのプロジェクトに行く必要がありますされていない場合、親のポンポンは、すべての子プロジェクトが含まれている場合、これは十分だろうparentPom

mvn versions:set -DnewVersion=1.0.3-SNAPSHOT 

を更新することにより開始parentPomは相対パスに存在する場合は、新しいとparentPomプロジェクトをインストールする必要がありますされていない場合、子プロジェクトと

mvn versions:update-child-modules 

も実行は前の2つのステップは十分でしょうバージョン

mvn install 

通常、モジュールを別のモジュールに依存していない場合は、これで十分です。あなたがしなければ、そのようなproject.versionとそのバージョンを宣言し、それが自動的に

<version>${project.version}</version> 

チェックmaven Versions Plugin docsを反映されます。

+0

魅力的な作品ですが、言及していないことが1つあります...モジュールの1つは別のモジュールのアーティファクトに依存しているので、これもやり直す必要があります。ちょうどそれを、申し訳ありませんでした。 –

+1

編集を確認してください – mebada

+0

ああ、そうです!あなたの経験を共有してくれてありがとう。それはうまくいった。 –

2

はい、あなたは、コマンドラインから必要な変数を渡すことによって、プロジェクトのバージョンを上書きすることができます。

はあなたpom.xml

例:変数を使用していることを確認:

mvn deploy -Dversion=1.0-test-SNAPSHOT 

<version>${version}</version> 

pom.xmlにこれは実行時に選んだを取得する必要があります。この方法がうまくいかない場合は、pom.xmlでどのように使用しているかを教えてください。

+0

実際には、それは何らかの理由で私のために働くわけではありません。上記のpom.xmlを参照してください。 –

+0

'$ {version}'プレースホルダーがあれば動作します。 – eckes

+1

Maven 3.x.xを使用して同じ状況に直面しています。渡されたパラメータは無視されます。 Mavenは、その表現を含むことについて不平を言う。 – reporter

0

mvn -Dversion=1.0-test-SNAPSHOT deploy
構文は次のとおりです。mvn [options] [goals] [phase]

+0

私は何かが間違っていると思っています...あなたとアーリットのソリューションはどちらもうまくいきません:(静かに変更されていません) –

+1

Maven 3.xxを使って同じ状況に直面しています渡されたパラメータは無視されます。 – reporter

関連する問題