Maven creando una cremallera plana.

Para los gurús de Maven: estoy intentando empaquetar artefactos de proyectos que no sean java (.NET) en un solo archivo zip. Tengo 2 problemas:

Si cambio el embalaje en mi POM a zip<packaging>zip</packaging>, Me sale este mensaje de error:[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, no es gran cosa - lo cambié a<packaging>pom</packaging> para deshacerse de un tarro inútil que de otro modo se crea en el directorio de destino

Mi problema principal es que los archivos que estoy empaquetando en ZIP están anidados en pocos directorios, pero necesito ponerlos en el directorio superior de ZIP. Aquí está mi archivo de montaje:

 <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>

Cuando ejecute esto, obtendré un archivo ZIP, pero los archivos se anidarán a partir de C: \ seguido de una ruta completa. Para darle una idea, el proyecto vuelca sus binarios en la siguiente estructuraProjectFoo\ProjectFoo\subproject1\Bin\Release\foo.dll Y yo necesitoZIP\foo.dll

Aquí está la configuración del complemento de montaje:

<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>

¿Tal vez solo necesito usar antrun y ejecutar la tarea ant zip?

Respuestas a la pregunta(1)

Su respuesta a la pregunta