2

私は Maven 3.0.4 を持っており、他のいくつかのアーティファクトからアセンブリを作成しようとしています。maven-assembly-plugin を使用すると、アーティファクトのコンテンツが適切な場所に解凍されますが、ファイル (/bin ディレクトリなど) に対する実行権限が失われます。依存関係を target/ に解凍して (アクセス許可はまだ問題ないことがわかります)、それらをアセンブリにコピーしようとしましたが、ファイルのアクセス許可が失われます。依存関係を手動で調べて、どのファイルが実行可能かを判断する必要があるとしたら、それは本当に悪いことです。

これらの明らかなバグを回避する方法はありますか? ファイルを一時ディレクトリからアセンブリの最終的な場所に直接コピーして、アクセス許可を維持することさえ可能ですか? もしそうなら、どのように?

4

2 に答える 2

4

私はついに答えを見つけました。アセンブリがビルドされているサブプロジェクトの親 pom であった pom ファイルは、数年前に maven-assembly-plugin バグ MASSEMBLY-449 の回避策を宣言していました。その提案された回避策の一部として、デフォルトの fileMode が 644 のブロックが入力されました。Maven 3.0.4 に切り替え、マップは数か月前に 2.4 に更新されました。その時点で、バグは修正されました。どうやらその修正は、回避策が不要になったことを意味し、実際には実行ビット設定に干渉していました。ブロックを削除すると、 と エントリのすべての実行権限が再び正しくなりました。

于 2013-08-05T18:28:11.400 に答える