2

こんにちは、mvn他のさまざまなモジュールからjarを収集し、すべての依存関係と構成を含むzipファイルを作成することを唯一の目的とするサブモジュールがあります。

<parent>
    <artifactId>foo</artifactId>
    <groupId>com.foo</groupId>
    <version>0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>dist</artifactId>
<packaging>pom</packaging>

<name>dist</name>
<url>http://maven.apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptors>
                        <descriptor>assembly.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>generate zip</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

これを使用するmvn assembly:assemblyと、目的のファイルが作成されzipます。しかし、私が使用mvn packageしても何もしません。つまり、zipファイルを作成しません。以下の出力を与えるだけで終了します。

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building dist 0.1
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.120s
[INFO] Finished at: Mon Jul 15 16:34:09 IST 2013
[INFO] Final Memory: 5M/92M
[INFO] ------------------------------------------------------------------------

これが機能しない理由についての考え。ここで私が見逃しているのは何ですか。事前にご協力いただきありがとうございます。

4

2 に答える 2

2

ロバートが述べたように、プラグインをプラグイン管理から移動する必要があります。このようなことを試してください

<build>
   <plugins>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
              <descriptors>
                  <descriptor>assembly.xml</descriptor>
              </descriptors>
          </configuration>
          <executions>
               <execution>
                  <id>generate zip</id>
                  <phase>package</phase>
                  <goals>
                     <goal>single</goal>
                  </goals>
                </execution>
           </executions>
        </plugin>
    </plugins>
</build>

お役に立てれば

于 2013-07-16T09:28:41.583 に答える
1

それは pluginManagement の仕組みではありません。少なくとも標準のビルド プラグインとして定義する必要があります。ライフサイクル中、Maven はそのデフォルトを使用し、build-plugins を調べて、フェーズにバインドされたプラグインがあるかどうかを確認します。プラグインが見つかった場合、同じプラグインの pluginManagement を調べて、追加の構成があるかどうかを確認します。

于 2013-07-15T17:51:01.180 に答える