Плагин maven-assembly-plug удерживает файл - PullRequest
1 голос
/ 25 ноября 2011

Я использую плагин maven-assembly-plugin для создания zip-файла для некоторых скриптов базы данных.У меня периодически возникает проблема: если моя сборка по какой-либо причине дает сбой, когда я часто перестраиваю ее, часто (но не всегда) происходит сбой сразу при попытке удалить целевой каталог.Причина этого заключается в том, что файл сборки zip (используемый maven-assembly-plugin), который он скопировал туда, заблокирован.

Если я неоднократно пытаюсь собрать или оставляю достаточно длительный период между неудачной сборкой и перестроением, блокировка в конечном итоге снимается, и сборка продолжается как обычно.

Это очень разочаровывает- есть идеи, в чем может быть проблема?Я использую Windows XP Pro.

Мой фрагмент pom.xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2.1</version>
    <configuration>
        <descriptors>
            <descriptor>src/main/sql/zip-assembly.xml</descriptor>
        </descriptors>
        <finalName>db-deployment</finalName>
        <appendAssemblyId>false</appendAssemblyId>
    </configuration>
    <executions>
        <execution>
        <id>make-database-scripts</id>
        <phase>package</phase>
        <goals>
            <goal>single</goal>
        </goals>
    </execution>
</executions>

Спасибо!

1 Ответ

0 голосов
/ 28 ноября 2011

Используя 'Process Explorer', я вижу, что существует Java-процесс, который все еще держит этот дескриптор файла, даже если сборка maven не удалась.Этот Java-процесс на самом деле принадлежит Eclipse, что интересно, так как моя сборка выполняется из командной строки.Я подозреваю, что Eclipse увидел изменение файла в рабочей области и решил обновить свой проект.После того, как eclipse завершит обновление, дескриптор сбрасывается, и моя сборка может продолжаться без проблем.

Если посмотреть дальше, я вижу, что файл сборки создается в каталоге main /, что подтверждает, почемузатмение будет вовлечено.Я перенесу это!

...