3

いくつかの環境変数で maven-release-plugin を使用しようとしていますが、リリース バージョンの環境変数を使用すると問題が発生します。
私は実行しています:

mvn release:clean --batch-mode -Dtag=${env.tag} -Dproject.rel.com.mycompany.project:project-root=${env.project.rel.com.mycompany.project:project-root} -Dproject.dev.com.mycompany.project:project-root=${env.project.dev.com.mycompany.project:project-root} release:prepare

私は得ています:

[エラー] プロジェクト project-root で目標 org.apache.maven.plugins:maven-release-plugin:2.4:prepare (default-cli) を実行できませんでした: バージョンの解析中にエラーが発生しました。次のバージョンを特定できません: バージョン文字列を解析できません: "${env.project.rel.com.mycompany.project:project-root}" -> [ヘルプ 1]

${env.project.rel.com.mycompany.project:project-root}を特定のバージョンに変更すると、コマンドは成功します。

しかし、ご覧のとおり、私は次のものを使用しています:

${env.tag}  
${env.project.dev.com.mycompany.project:project-root}  

問題なし。これはバグですか?それとも私は何か間違ったことをしていますか?

追記事項

環境変数:

tag=2.55  
project.rel.com.mycompany.project:project-root=2.55  
project.dev.com.mycompany.project:project-root=2.56-SNAPSHOT  

私のMavenのバージョンは次のとおりです。

C:\>mvn -version  
C:\>set MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=512m  
Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)  
Maven home: C:\Users\John\Documents\apache-maven-3.0.4-bin  
Java version: 1.6.0_25, vendor: Sun Microsystems Inc.  
Java home: C:\JDK\jdk1.6.0_25\jre  
Default locale: en_US, platform encoding: Cp1252  
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"  
4

2 に答える 2

0

リリース プラグインが環境をクリアするため、機能していません [1]。文書化されているとは思えません[2]、ソースを見てわかりました。ファリッドの答えは良い回避策です-クリアされていないJavaプロパティを介して環境値を渡します。

私は単にFaridの答えにコメントしたでしょうが、私は十分に輝いているとは思いません.

  1. どうして??
  2. 古典的なメイヴン。
于 2014-10-06T10:33:03.687 に答える