2

こんにちは、マスター ディレクトリのマルチモジュール プロジェクトから jar を組み立てる必要があります。次のような構造を考えてみましょう。

MASTER(pom)
|
+-A3(pom)
| +-A1(jar)
| +-A2(jar)
+-B3(pom)
  +-B1(jar)
  +-B2(jar)

私が達成したいのは、マスターですべてのjarパッケージモジュールを組み立てることです。

jars/
+- A1.jar
+- A2.jar
+- B1.jar
+- B2.jar

今のところ、次のような pom.xml を作成することにより、サブモジュール (A3 および B3) で適切な解決策のみを達成しました。

<modules>
 <module>../A1</module>
 <module>../A2</module>
</modules>
<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
                    <configuration>
                        <descriptors>
                            <descriptor>src/main/assembly/bin.xml</descriptor>
                        </descriptors>
                    </configuration>
        </plugin>
    </plugins>
 </build>

およびアセンブリ記述子:

<moduleSets>
  <moduleSet>
    <includes>
      <include>org.mycompany:A1</include>
      <include>org.mycompany:A2</include>
    </includes>
    <binaries>
      <includeDependencies>false</includeDependencies>
      <outputDirectory>jars/${artifactId}</outputDirectory>
      <unpack>false</unpack>
    </binaries>
  </moduleSet>
</moduleSets>

私がする時

mvn clean package assembly:assembly

サブモジュール(A3またはB3)では、個別に独自のサブモジュールをうまく組み立てているようです。

MASTERでアセンブリ記述子を指定する方法がわかりません。A3 および B3 記述子に類似したものは、これを処理しません ([エラー] 少なくとも 1 つのファイルを指定する必要があります)。includeSubModules などの追加のタグをいくつか試しましたが、まだ何もありません。

4

2 に答える 2

1

約束どおりの解決 (マスター アセンブリ記述子):

<moduleSets>
 <moduleSet>
    <binaries>
        <includeDependencies>false</includeDependencies>
        <outputDirectory>jars/${artifactId}</outputDirectory>
        <unpack>false</unpack>
    </binaries>
 </moduleSet>
</moduleSets>

ご覧のとおり - <include>A3 や B3 のような特定のモジュールを指していません

<includes>
 <include> 
  (...) 
 </include>
</includes>

これは確かに奇妙です。それにもかかわらず、働いています。

于 2012-02-01T18:10:30.203 に答える
0

<module>リアクターに他の を追加するように指示するだけですがpom、依存関係は提供しません。したがって、依存関係を追加するまで、アセンブリ記述子を含め、これらのモジュールをどこでも参照することはできません。

必要に応じて構築し、依存する場合は、 and<module>とを追加する必要があり<dependency>ます。

于 2012-02-01T10:05:42.757 に答える