Maven создает плоскую сборку на молнии

Гевенам Maven: я пытаюсь упаковать не-Java-артефакты проекта (.NET) в один zip-файл. У меня 2 проблемы:

Если я поменяю упаковку в моем POM на zip<packaging>zip</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. ОК, ничего страшного - я изменил это на<packaging>pom</packaging> избавиться от ненужной банки, которая иначе создается в целевой директории

Моя главная проблема заключается в том, что файлы, которые я упаковываю в 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: \, за которым следует полный путь. Чтобы дать вам идею - проект сбрасывает свои двоичные файлы в следующую структуруProjectFoo\ProjectFoo\subproject1\Bin\Release\foo.dll и мне нужноZIP\foo.dll

Вот конфигурация сборочного плагина:

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

Может быть, мне просто нужно использовать antrun и выполнить задачу ant zip?

Ответы на вопрос(1)

Ваш ответ на вопрос