使用 Maven assembly plugin 为特定文件设置 Linux 文件权限
Use Maven assembly plugin to set Linux file permissions for specific files
如何使用 Maven 程序集插件为特定文件设置文件权限?
以下工作正常,但它仅在组装的存档中包含 specificShFile.sh:
<assembly>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>specificShFile.sh</include>
</includes>
<fileMode>0755</fileMode>
</fileSet>
...
</fileSets>
...
</assembly>
我想要的是所有文件都包含在 zip 中,但只对特定文件设置权限。
您可以使用
<fileSets>
<fileSet>
<useDefaultExcludes/>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<directory/>
<lineEnding/>
<filtered/>
</fileSet>
</fileSets>
像这样更具体
<fileSets>
<fileSet>
<directory>src/main/java</directory>
<outputDirectory>src/main/java</outputDirectory>
<includes>
<include>**</include>
</includes>
<useDefaultExcludes>true</useDefaultExcludes>
<fileMode>0644</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
</fileSets>
非常感谢@SubOptimal 的提示,这是对我有用的解决方案:
<assembly>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>/</outputDirectory>
<excludes>
<exclude>specificShFile.sh</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>specificShFile.sh</include>
</includes>
<fileMode>0755</fileMode>
</fileSet>
...
</fileSets>
...
</assembly>
如何使用 Maven 程序集插件为特定文件设置文件权限?
以下工作正常,但它仅在组装的存档中包含 specificShFile.sh:
<assembly>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>specificShFile.sh</include>
</includes>
<fileMode>0755</fileMode>
</fileSet>
...
</fileSets>
...
</assembly>
我想要的是所有文件都包含在 zip 中,但只对特定文件设置权限。
您可以使用
<fileSets>
<fileSet>
<useDefaultExcludes/>
<outputDirectory/>
<includes/>
<excludes/>
<fileMode/>
<directoryMode/>
<directory/>
<lineEnding/>
<filtered/>
</fileSet>
</fileSets>
像这样更具体
<fileSets>
<fileSet>
<directory>src/main/java</directory>
<outputDirectory>src/main/java</outputDirectory>
<includes>
<include>**</include>
</includes>
<useDefaultExcludes>true</useDefaultExcludes>
<fileMode>0644</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
</fileSets>
非常感谢@SubOptimal 的提示,这是对我有用的解决方案:
<assembly>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>/</outputDirectory>
<excludes>
<exclude>specificShFile.sh</exclude>
</excludes>
</fileSet>
<fileSet>
<directory>${project.build.outputDirectory}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>specificShFile.sh</include>
</includes>
<fileMode>0755</fileMode>
</fileSet>
...
</fileSets>
...
</assembly>