Maven «затененный» JAR имеет префикс «оригинал» в имени файла

Я использую плагин Shade Maven2 для создания монолитного JAR-файла со всеми связанными вместе зависимостями Java. Соответствующий раздел в pom.xml довольно прост:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>1.4</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <finalName>${project.artifactId}-${project.version}-SHADED</finalName>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>com.mypackage.MyClass</mainClass>
                    </transformer>
                </transformers>
            </configuration>
        </execution>
    </executions>
</plugin>

Однако результаты сборки нечеткие. Кажется, что ДВА файла на самом деле создаются этим плагином Maven:

myartifact-1.0.0-SHADED.jar  (zero bytes)
original-myartifact-1.0.0-SHADED.jar  (10 MB)

Файл JAR с префиксом "оригинал" построен правильно и работает нормально. Полагаю, я мог бы просто переименовать его, чтобы убрать этот префикс, и продолжить свой веселый путь.

Однако Мне очень любопытно, что может здесь происходить с плагином «тени». Похоже, что «исходный» файл - это временное рабочее пространство, предназначенное для переименования в конце процесса, и это окончательное переименование просто не завершается. Однако для этого нет очевидного объяснения (например, разрешения файловой системы и т. Д.). Кто-нибудь когда-нибудь видел это раньше?

35
задан Steve Perkins 3 November 2010 в 15:28
поделиться