Mavenリソースを持つファイルに対するパーミッションを保持することは可能ですか?testResources?私のユースケースは、私がテストから使用できるようにしたい/ src/test/resourcesに入れたSeleniumバイナリドライバです。マイ-rwxr-XR-xがしかしように変更され-rw-rを - r--のターゲット/テストクラスMavenリソースを持つファイルに対するパーミッションを維持する:testResources
16
A
答えて
22
これはbug in the Maven Resource Plugin
あなたはMavenのアセンブリのプラグインを使用している場合は、あなたのようですでそこにfile permissionsを設定することができます。
そうでない場合は、回避策を検討するとよいでしょう。これを行うには、次のようにしてください。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>process-test-classes</id>
<phase>process-test-classes</phase>
<configuration>
<target>
<chmod file="target/test-classes/test.sh" perm="755"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
3
UNIXマシンで実行すると自動的に有効になるプロファイルが追加されました。インラインシェルスクリプトを実行して、フォルダ内のすべてのファイルから別のフォルダ内の同じ名前のファイルに再帰的にファイルアクセス許可を適用します(SRCおよびDST変数を参照)。このスクリプトには、/bin/sh
とfind
,xargs
、およびchmod
が必要です。これらは現代のすべてのシステムに存在する必要があります。
<profile>
<id>unix</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>fix-resource-permissions</id>
<goals>
<goal>exec</goal>
</goals>
<phase>process-test-resources</phase>
<configuration>
<executable>/bin/sh</executable>
<arguments>
<argument>-c</argument>
<argument>
set -x
SRC="${basedir}/src/test/resources"
DST="${project.build.directory}/test-classes"
find "$$SRC" -printf "%P\0" | xargs --verbose -0 -I {} chmod --reference="$$SRC/{}" -f "$$DST/{}"
</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
+0
素敵な解決策! –
関連する問題
- 1. Resxリソース、相対パスを持つファイル
- 2. 共有パーミッションを持つファイルを開く
- 3. ローカルMavenインストール用に2つのMavenプロファイルを維持するには?
- 4. gradle unzipの後でファイルのパーミッションを維持
- 5. iOSはセッション中にgpsパーミッションを維持します
- 6. は、* nixからWindowsへの配布時にファイルのパーミッションを維持します。
- 7. 2つのCSVファイルをマージする重複を維持する
- 8. .rtfファイルをリッチテキストボックスにロードして書式設定を維持/維持する
- 9. アップグレード後にpython dist-packageで同じパーミッションを維持するには?
- 10. Maven:依存関係を維持するには?
- 11. 電子ダイアログvueリソースを持つサーバーにファイルを送信する
- 12. HttpHandlerを生存/維持する中間データを維持する
- 13. `send_file()`を使ってファイルのパーミッションを保持するには?
- 14. ポジションをつくる:ページのリサイズに絶対的なdivを維持する
- 15. 2つのgithubユーザーアカウントを維持する
- 16. Android:画像リソースのサイズを維持する
- 17. data.tableのNA値を持つ行を維持する
- 18. JavaでManyToOne関係を持つエンティティを維持する
- 19. 複数のファイルを持つmaven-replacer-plugin
- 20. エンベディッドIDを持つエンティティを多対1の関係に維持するとエラーメッセージが表示される
- 21. 画像のサイズを維持して画像を維持する
- 22. 画像サイズを維持し、比率を維持する、html?
- 23. Iphone Voipアプリ - バックグラウンドを維持し、ナットピンホールを維持する
- 24. アプリケーション全体に対して1つのwcfクライアントプロキシを維持する
- 25. 複数のcronジョブに対して1つのDB接続を維持する
- 26. セッションを維持するSharedPreferences
- 27. バッチプログラムを維持する
- 28. ボットを維持する
- 29. HiddenFieldコントロールビューステートを維持する
- 30. ベストプラクティスISO8601を維持する
ありがとうございます!非常に迅速な答えと回避策は、今私にとって十分だった。 –
あなたは大歓迎です! Antは、手動で行うことを考えているときに私の心に来た最初のものでした。おそらく他にもたくさんのオプションがあります。 < "ではなく、" "が使用されている場合は内に –
wjans
が動作します。 antrun plugin v1.7を使用して –