6

特定の build.xml ターゲットを実行している場合、クリーンは ivy jar ディレクトリの削除にヒットまたはミスがあります。「ロックされた」ファイルはEclipseによるもので、ディレクトリでエクスプローラーを使用するか、Eclipseからantを再実行すると、Eclipseが再起動されるまでファイルの削除が拒否されます。これには非常に時間がかかります。何らかの理由で、ant build/clean を実行した後、Eclipse がこのファイルを保持しています。
それはすべてのプロジェクトではなく、理由は不明ですが、特定の時期にのみ発生します。

この既存の議論があります。 Eclipse はファイルを削除しません

しかし、毎回再起動せずにEclipseでantを実行する方法についての質問には答えません。

eclipse -console を使用して、ファイルを保持しているものをハンドルする方法はありますか? または、Eclipse/ant/ivy が 1 回または 2 回のビルド後にこれらのターゲットを手放さない理由 (Eclipse の再起動後 1 回目は正常に動作する) の根本原因を誰かが知っていますが、その後のいくつかの ant ビルドは不幸になります。

私の場合、ファイルを確実にロックしているのはEclipseです。Eclipse の再起動は解決策ではありません。それ以外の場合は、コマンド ライン ウィンドウに戻ります。同じjvmで実行を設定し、あらゆる種類の設定を試みました。

Eclipse プラグインをデバッグする必要がありますか? Eclipse 内でロックを解除していないプラグインを見つける簡単な方法はありますか? これを見たのはこれが初めてで、IVY が原因であると思われます。

juno、ivy、spring、ant を実行していて、Eclipse から Ant Build を実行すると問題が発生し、クリーンではアーティファクトの lib/build ディレクトリを削除できません。

eclipse.buildId=M20130204-1200
java.version=1.6.0_43
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

!ENTRY org.apache.ivyde.eclipse 1 0 2013-06-04 11:36:50.344 
!MESSAGE starting IvyDE plugin

アリのターゲット:

    <target name="clean-retrieved" >
    <delete includeemptydirs="true" >
            <fileset dir="${basedir}">
                <include name="lib/**" />
            </fileset>
    </delete>
</target>

エラー:

clean-retrieved:

BUILD FAILED
C:\scripts\common-build-targets.xml:238: Unable to delete file C:\scripts\lib\build\annotations-1.3.8.jar <<just first jar file in directory..
4

6 に答える 6

3

これは、プロセスがそのファイルを使用しているときに発生します。上記のjarを使用するプログラムがまだ実行されているときに、通常、この問題が発生しました。Eclipse でプログラムをまだ実行していないことを確認します。これを視覚的に確認する最も簡単な方法は、これを見ることです。

ここに画像の説明を入力

赤い四角 (停止ボタン) が有効になっているということは、プログラムがまだ実行中であることを意味します。それを押すと、プロセスが停止します。ただし、プログラムが実行されていない場合は、次のようになります。

ここに画像の説明を入力

「停止」ボタンが有効になっていないため、プログラムが実行されていないことを意味します。ただし、その時点で表示されているプロセス以外にも、他のプロセスが実行されている可能性があります。それを確認するには、次のスクリーンショットで「コンピューター画面」アイコンを確認します。

ここに画像の説明を入力

そのコンピューター画面が有効になっているということは、複数のプログラム/プロセスを実行したことを意味します。下矢印をクリックすると、他のプログラムに変更できます。それらが実行されているかどうかを確認し、それらも停止します。より簡単な方法は、ダブル X 記号を押すことです。これにより、終了したプロセスに関連するすべてのセクションが閉じられ、まだ実行中のセクションが表示され、停止できる可能性があります。すべてがなくなるまでダブル x と停止ボタンを押し続けると、jar を削除して問題なくビルドできるはずです。

于 2013-06-09T17:45:49.663 に答える
0

私もその問題を抱えていました。フォルダのアクセス許可が拒否されたことが原因でした。フォルダの所有者を切り替えることができませんでした。問題を解決したのは、Lockhunterをインストールしてフォルダのロックを解除し、削除してから再作成することでした。

于 2016-11-21T10:10:54.910 に答える
0

私はここに参加するつもりです(私はこれが古い投稿であることを知っています)

私の Eclipse/Ant コンボは問題なく動作していましたが、新しいワークスペースを作成しましたdist/*jars

Eclipseで既に開いていると主張するWindowsエクスプローラーからそれらを削除しようとしました。

Eclipse の再起動は機能しましたが、時間がかかりました。

私の解決策 - 新しいワークスペースを作成し、プロジェクトをそこに再インポートしました。

私の推測では、元のワークスペース内にいくつかの破損があります。

于 2015-11-20T09:31:42.530 に答える
0

コマンドラインから以下を実行

c:\path_to_eclipse\eclipse.exe -クリーン

于 2013-12-27T19:09:52.000 に答える