2つのリポジトリを削除しようとしています
org.apache.commons.io.FileUtils.deleteDirectory(jobInDirectory);
org.apache.commons.io.FileUtils.deleteDirectory(jobOutDirectory);
道は正しい
ディレクトリの権利も
最初はよく削除されます 2番目ではなく、内部のすべてのファイルが削除されますが、ディレクトリは削除されません
java.io.IOException: Unable to delete directory /opt/appdata/conv/data/out/Job000000000676.
別のプロセスがコマンドlsfoでそれをロックし、誰もそれを使用していないかどうかを調べます...
何か案が ?
回答 3 件
コマンドを実行するユーザーに十分な権限があることを確認するために、そのディレクトリ/ファイルのアクセス許可を確認しましたか?
あるいは、別のプロセスがファイルのハンドルを持っている場合、それも問題を引き起こします。 LinuxベースのOSを使用していると仮定して、コマンドfuser/opt/appdata/conv/data/out/Job000000000676を使用してみてください。
幸運を
フォルダーにファイルがありますか?はいの場合、フォルダを削除する前にそれらを削除する必要があります
関連記事
- dpkg -iエラー:開くことができません…そのようなファイルまたはディレクトリはありません
- Win10ストレージスペースから原始ストレージプールを削除できません
- / usr/shareにディレクトリを作成できません
- MongoDB配列からアイテムを削除できません
- make_pathを使用してディレクトリを作成できません
- ディレクトリ〜/ Picturesを削除する方法は?
- flinkはいつRocksDBKeyedStateBackendディレクトリの削除を開始しますか?
- EntityFramework Coreでエンティティを所有しているエンティティを削除できません
- AWS EB上のsymfony:キャッシュをクリアした後、キャッシュディレクトリに書き込むことができません
この問題を修正するには、次を確認する必要があります。
アプリケーションを実行しているユーザーID /アカウントには、以下のディレクトリを削除する権限が必要です。アカウントでJavaアプリケーションを実行している場合、以下のディレクトリを削除する権限が必要です。
アカウントを適切なグループに追加します。最初に
ls -ltr
で確認するには/opt/appdata/conv/data/out
内で実行するout
内のディレクトリを削除する完全な権限を持つグループにアカウントを追加します ディレクトリJob000000000676
かどうかも確認してください 内部にサブディレクトリがあります。このような状況では、rm -rf /opt/appdata/conv/data/out/Job000000000676
のようなUNIXコマンドを実行できます 。詳細については、JavaアプリケーションからUNIXコマンドを実行する方法を参照してください。これがあなたのお役に立てば幸いです。