2

私は、特定の依存関係に対して POM で LATEST および RELEASE キーワードを使用している状況で作業しています (依存関係とプロジェクトの両方が私たちによって所有されているため、LATEST と RELEASE を制御します...そしてサポートするのは一度に 1 つのバージョン)。これらのキーワードを使用すると、リリース後に必要なメンテナンスを最小限に抑えることができます。

ビルド プロセスには、展開された依存関係から DLL をコピーする必要があるステップがありますが、特定のバージョンを指定しないため、展開された依存関係のバージョン番号がハードコードされており、リリースごとに更新する必要があります。Maven プロパティから実行時にこの依存関係のバージョンを取得する方法はありますか?

maven-dependency-plugin (http://maven.apache.org/plugins/maven-dependency-plugin/index.html) のプロパティの目標は、ローカル リポジトリ内のアーティファクトの場所を取得します (これは、私が探しています)。depends-maven-plugin (ここに表示: http://team.ops4j.org/wiki/display/paxexam/Pax+Exam+-+Tutorial+1 ) は、さまざまな依存関係とそのバージョンを含むファイルを生成できますが、これには、プロセスがファイルを読み取ってその情報を利用する必要があります。依存バージョンのプロパティにアクセスするなど、もっと「Maven の方法」があるかどうか疑問に思っています。

編集:明確にするために、ファイルをコピーするために展開された依存関係のディレクトリにアクセスできるように、バージョン番号が必要です。

4

1 に答える 1

0

「maven way」の意味がわかりませんが、すでに言及したのと同じプラグインを見た後、次のようにしました。

  <build>
<plugins>
  <plugin>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.5</version>
    <executions>
      <execution>
        <phase>initialize</phase>
        <goals>
          <goal>execute</goal>
        </goals>
        <configuration>
          <source>                                                                                                                                                                                                                                                   
            project.properties.put('firstdependencyinthepom', project.dependencies[0]['version'])                                                                                                                                                                              
            project.properties.put('seconddependencyinthepom', project.dependencies[1]['version'])                                                                                                                                                                            
          </source>
        </configuration>
      </execution>
    </executions>
  </plugin>

そして、これらの依存関係のバージョンをそれぞれ ${firstdependencyinthepom} と ${seconddependencyinthepom} で参照することができました。

于 2014-09-29T13:17:41.327 に答える