Maven程序集插件fileMode在fileSet上不起作用

时间:2019-02-04 14:42:58

标签: java maven maven-assembly-plugin

Maven Assembly插件未在某些fileSet上应用fileMode。在某些文件集上,它可以在其他文件集上运行,而不起作用。

这是assembly.xml:

<assembly>
<id>
    assembly
</id>
<formats>
    <format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
    <fileSet>
        <directory>src/main/resources/config/
        </directory>
        <outputDirectory>/config/</outputDirectory>
        <excludes>
        </excludes>
    </fileSet>
    <fileSet>
        <directory>src/main/resources/excel/
        </directory>
        <outputDirectory>/excel/</outputDirectory>
        <fileMode>0666</fileMode> <!-- WORKING -->
    </fileSet>
    <fileSet>
        <directory>src/main/resources/logs/
        </directory>
        <outputDirectory>/logs/</outputDirectory>
        <fileMode>0666</fileMode> <!-- NOT WORKING -->
    </fileSet>
    <fileSet>
        <directory>src/main/resources/sh/</directory>
        <outputDirectory>/sh/</outputDirectory>
        <excludes>
            <exclude>*.formatted</exclude>
        </excludes>
        <lineEnding>unix</lineEnding>
    </fileSet>
</fileSets>

在excel /文件夹下解压缩的所有文件都具有-rw-rw-rw-权限,权限为0666。在日志/文件夹下解压缩的所有文件都具有-rwxrwxr-x而不是0666。

这是pom.xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.1.1</version>
    <executions>
        <execution>
            <goals>
                <goal>single</goal>
            </goals>
            <phase>package</phase>
            <configuration>
                <descriptors>
                    <descriptor>src/main/assembly/assembly.xml</descriptor>
                </descriptors>
                <id>assembly</id>
                <appendAssemblyId>false</appendAssemblyId>
            </configuration>
        </execution>
    </executions>
</plugin>

1 个答案:

答案 0 :(得分:0)

这是一个回归和一个已知的错误,不知何故不断抬起它丑陋的头。 latest bug report 声称它是在 3.1.1 之后开始的,但从您的报告中可以明显看出已经存在问题。

转到 Maven Assembly Jira ticket tracker 上的工单并添加评论会很有帮助,这样工程师就会知道这不仅仅是一次性的。我也遇到过这个问题。

相关工单(重新回归):