Maven gurusへ: Java以外のプロジェクト成果物(.NET)を単一のzipファイルにパッケージ化しようとしています。 - 私はそれ以外の場合は作成され、無駄なjarファイルを取り除くために<packaging>pom</packaging>
にそれを変更し[INFO] Cannot find lifecycle mapping for packaging: 'zip'. Component descriptor cannot be found in the component repository: org.apache.mav en.lifecycle.mapping.LifecycleMappingzip.
OK、大したことない:私は<packaging>zip</packaging>
を圧縮するために私のPOM包装を変更した場合、私はこのエラーメッセージが表示されますMavenでフラットなジップアセンブリを作成しています
:私は2つの問題を抱えていますターゲットディレクトリ内
私の主な問題は、私がZIPにパッケージ化しているファイルがいくつかのディレクトリに入れ子になっていますが、これらをZIPのトップディレクトリに入れる必要があることです。ここに私のアセンブリファイルです:
<assembly>
<id>bin</id>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${basedir}/${project.artifactId}</directory>
<includes>
<include>**/Bin/Release/*.dll</include>
<include>**/Bin/Release/*.pdb</include>
</includes>
</fileSet>
</fileSets>
</assembly>
私はこれを実行
- 私は、ZIPファイルを取得しますが、ファイルはCで始まるネストされます:\フルパスが続きます。たぶん私はちょうどアリのzipをantrun使用して実行する必要が<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>zip</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
: - あなたのアイデアを与えるためにプロジェクトには、それは次のような構造 ProjectFoo\ProjectFoo\subproject1\Bin\Release\foo.dll
にバイナリだダンプと私はZIP\foo.dll
を必要とすることはここでは、アセンブリプラグインの設定です仕事?
!リッチありがとう! – Bostone
あなたは歓迎です –
しかし、まだ1つの問題があります。 zipは、まだ "artifactId-Version"というタイプの1つのトップディレクトリを維持しています。 zipを解凍すると、すべてのファイルは '/'ではなく '/ Foo-1.0-SNAPSHOT /'になります。それでも、ファイルはターゲット/ dllステージングに正しくコピーされます – Bostone