0

複数のモジュールプロジェクトを構築しています。プロジェクトの構造は次のとおりです。

 -Build
       -Local
         -POM.xml (Master)

-Main Project
   -Module A 

-Libs Project
   -Libs Project A

LibsプロジェクトAにはPOMがあり、その親のPOMからの動的バージョンがあります

   <parent>
    <groupId>com.myproject</groupId>
    <artifactId>libs</artifactId>
    <version>${release.version}</version>
   </parent>
    <!-- this POM -->
    <groupId>com.myproject.libs</groupId>
    <artifactId>http</artifactId>
    <packaging>bundle</packaging>
    <version>1.0.0</version>

Mavenビルドを実行し、バージョンパラメータを渡して「モジュールA」をビルドすると、MavenはlibsプロジェクトのPOMを見つけることができません。

理由:親が見つかりません:プロジェクトのcom.myproject:libs:プロジェクトのcom.myproject.libs:http:bundle:1.0.0 com.myproject.libs:http:bundle:1.0.0

4

1 に答える 1

2

今すぐ停止

POM 内には、使用可能な方法でプロパティ置換がまったく機能しない XPath の場所が多数あります。

  • /project/parent/groupId
  • /project/parent/artifactId
  • /project/parent/version
  • /project/groupId
  • /project/artifactId
  • /project/version
  • /project/packaging

これは、リアクターのビルドが決定論的でなければならないためです。

これらの場所でプロパティを使用しようとすると、動作するように見えます。つまり、Maven はすぐに足を離しません....しかし、Maven でさらに何かをしようとすると、親切に足を離します。

おそらく、Maven を変更して、最初に足を踏み出す必要があります...おそらく、それらの要素にプロパティ拡張を入れることがサポートされていると人々が考えるのを止めるでしょう。

于 2012-09-17T16:56:37.663 に答える