同様の質問: タスクが他のプラットフォームで使用されている場合でも、AntのtarタスクはLinuxファイルのアクセス許可を設定できますか?
'project'記述子でMaven2 Assemblyプラグインを使用する場合、たとえばインクルードされたbuild.shスクリプトファイルに対してシェルスクリプトのアクセス許可を実行可能ファイルに設定する方法はありますか?
例:
<plugin>
<artifactId>maven-Assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<descriptorRefs>
<descriptorRef>project</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
これにより、3つのファイルが作成されます
そして、tarファイルにあるすべての* .shファイルのファイルパーミッションを「実行可能」に設定したいと思います。
これは、Mavenアセンブリプラグインで使用可能なfileMode
パラメーターを使用して実行できます アセンブリ記述子 。例えば
<Assembly>
...
<fileSets>
<fileSet>
<directory>${project.build.directory}/bin</directory>
<outputDirectory>/bin</outputDirectory>
<includes>
<include>*.sh</include>
</includes>
<fileMode>0755</fileMode>
</fileSet>
...
</fileSets>
...
</Assembly>
コメントで、ディレクトリにd---------
アクセス許可が設定されないようにディレクトリのアクセス許可を設定する方法を尋ねられました。答えは非常に簡単です-directoryMode
を使用してください:
<Assembly>
...
<fileSets>
<fileSet>
<directory>${project.build.directory}/bin</directory>
<outputDirectory>/bin</outputDirectory>
<includes>
<include>*.sh</include>
</includes>
<fileMode>0755</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
...
</fileSets>
...
</Assembly>