3

タイプjarのアセンブリを持つようにアセンブリ記述子を構成しました

<formats>
  <format>jar</format>
</formats>

ただし、mvn installを実行すると、jarではなくzipファイルが取得されます。

4

2 に答える 2

2

定義済みのアセンブリjar-with-dependenciesを使用しないのはなぜですか? 記述子ファイルの下:

<assembly>
  <id>jar-with-dependencies</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <unpack>true</unpack>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
  <fileSets>
    <fileSet>
      <directory>${project.build.outputDirectory}</directory>
    </fileSet>
  </fileSets>
</assembly>

assembly:assembly事前定義された記述子を使用するには、次を実行します。

mvn assembly:assembly -DdescriptorId=jar-with-dependencies

通常のビルド サイクルの一部としてアセンブリを生成するには、単一または単一ディレクトリの mojo をパッケージ フェーズにバインドします (「使用法」を参照)。

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-5</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> <!-- this is used for inheritance merges -->
            <phase>package</phase> <!-- append to the packaging phase. -->
            <goals>
              <goal>single</goal> <!-- goals == mojos -->
            </goals>
          </execution>
        </executions>
      </plugin>
      [...]
</project>
于 2009-09-08T11:00:24.213 に答える
2

jar-assemblyこの構成は、ターゲット/クラスのコンテンツのみを含む分類子を含む jar アセンブリを生成します。jar に他のコンテンツを追加する必要がある場合は、追加のファイルセットを追加できます。以前の実行からの zip アーカイブがターゲット ディレクトリにないことを確認するには、それを削除するか、mvn clean.

<assembly>
  <id>jar-assembly</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.build.outputDirectory}</directory>
      <outputDirectory>/</outputDirectory>
    </fileSet>
  </fileSets>
</assembly>

プラグイン構成は次のようになります。appendAssemblyId を false に設定すると、既定の jar がアセンブリの jar に置き換えられることに注意してください。これが望ましい動作でない場合は、その要素を削除します。

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.2-beta-2</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
      <configuration>
        <appendAssemblyId>false</appendAssemblyId>
        <descriptors>
          <descriptor>src/main/assembly/archive.xml</descriptor>
        </descriptors>
      </configuration>
    </execution>
  </executions>
</plugin>    
于 2009-09-08T11:14:22.047 に答える