0
org.eclipse.core.runtime.CoreException: Could not move: C:\gram\zmedia.
    at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:55)
    at org.eclipse.core.filesystem.provider.FileStore.move(FileStore.java:415)
    at org.eclipse.core.internal.filesystem.local.LocalFile.move(LocalFile.java:352)
    at com.zmedia.zide.config.model.Service.updateDeploymentSetup(Service.java:923)
    at com.zmedia.zide.config.model.Service.update(Service.java:886)
    at com.zmedia.zide.util.ServiceAPI.create(ServiceAPI.java:239)
    at com.zmedia.zide.ui.wizards.pages.CreateServicePage$5.run(CreateServicePage.java:525)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: org.eclipse.core.runtime.CoreException: Problems encountered while deleting files.
    at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:125)
    at org.eclipse.core.filesystem.provider.FileStore.move(FileStore.java:411)
    ... 6 more

こんにちは、みんな 、

eclipseの上にプラグインを開発しました。ユーザーがEclipseで古いプロジェクトを削除するオプションを提供しました。

問題: ファイルがこのディレクトリで開かれている場合、または削除操作でそれらのディレクトリを使用しているプロセスが問題になります。この問題は、Windowsユーザーにのみ固有です。

Windowsでディレクトリを強制的に削除する方法はありますか?

このようなユーザーに通知するにはどうすればよいですか?「このプロセスはディレクトリを使用しています。このプロセスを閉じて続行してください」。

どのプロセスがこれにアクセスしているかを知る方法はありますか?

4

5 に答える 5

3

Unlockerを使用できます。これにはポータブル バージョンとコマンドライン オプションがあり (ライセンスによって異なります)、プラグインと一緒に出荷し、コマンドライン経由で使用して使用済みファイルのロックを解除することができます。

于 2012-09-24T11:49:42.877 に答える
0

どのプロセスがフォルダの削除を妨げているかを調べるには、Java だけで良い方法があるとは思えません。また、少し攻撃的かもしれません。移動できない場合はコピーして、移動 (または削除) できなかったプロジェクトを一覧表示するダイアログを表示して、ユーザーが自分で処理できるようにします。結局、ファイルが開いたままになっている理由がある可能性があります。

于 2012-09-26T07:16:05.133 に答える
0

デバッグの状況で、どのプロセスがファイルを使用しているかを知るには、ここで説明されている優れた Process Explorerを使用できます

私の知る限り、Java SDK を使用しているプロセスを知る簡単な方法はありません。

あなたができることは、ファイルを deleteOnExit() としてマークすることであり、ユーザーが実際に Eclipse を終了すると削除されます。

于 2012-09-24T08:57:19.340 に答える
0

おそらく、ファイルをロックしている独自のプラグインです。削除を試みる前に、それらを「解放」する方法/戦略を実装してみてください。Apache Commons IO を使用して、これを構築/特定することができます。FileDeleteStrategyを見てください。「FORCE」オプションもチェックしてください。

于 2012-09-24T19:36:29.870 に答える
0

Windowsでディレクトリを強制的に削除する方法はありますか?

ロックを保持しているプロセスを強制終了するか、ユーザーにプロセスを閉じるように依頼できます。残念ながら、これは日食プロセス自体またはエクスプローラーである可能性があります。

于 2012-08-29T17:17:08.687 に答える