web-dev-qa-db-ja.com

maven ...プロジェクトのクリーニングに失敗しました:.. \ org.ow2.util.asm-asm-tree-3.1.jarの削除に失敗しました

私はSTS(スプリングツールスイート)+ mavenプラグインを使用します。

maven-cleanを使用してアプリケーションを実行するたびに、次のエラーが表示されます。

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building hhsystem ui 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ ui ---
[INFO] Deleting C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.471s
[INFO] Finished at: Mon Oct 21 12:34:33 MSK 2013
[INFO] Final Memory: 2M/90M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-clean-plugin:2.4.1:clean (default-clean) on project ui: Failed to clean project: Failed to delete C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target\org.ow2.util.asm-asm-tree-3.1.jar -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/MojoExecutionException

STSを閉じてC:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\targetに移動し、org.ow2.util.asm-asm-tree-3.1.jarを削除する必要があります

STSを再び起動すると動作しますが、これは面倒です。

この問題で私を助けてもらえますか?

UPDATE
Kalathoki L.

この状態からmaven-cleanを実行します。

STS screen shot

コマンドラインからもEclipseプラグインと同じ動作が見られます

STSの実行中にロック解除プログラムを見ると、

unlocker screen shot

61
user2740224

クリーニングを開始する前にサーバーを停止します。

サーバーの停止

サーバービューからサーバーを停止できます。

サーバーを停止するには:

  1. サーバービュー(ウィンドウ>ビューの表示>その他>サーバー>サーバー> OK)で、停止するサーバーを選択します。
  2. サーバーの停止をクリックします this ツールバーのアイコン。 [サーバー]ビューで、サーバーのステータスが[停止]に変わります。
  3. 何らかの理由でサーバーの停止に失敗した場合は、次のようにしてプロセスを終了できます。

    a。デバッグパースペクティブに切り替えます。

    b。プロセスビューで、停止するサーバープロセスを選択します。

    c。 終了をクリックします This is an image of the Terminate ツールバーのアイコン。

注:サーバーを終了すると、サーバープロセスは終了し、サーバーは通常の停止ルーチン(たとえば、サーブレットでdestroy()メソッドを呼び出す)を行いません。

ソース: Eclipseヘルプ

48
Yubaraj

-Dmaven.clean.failOnError=falseを試すこともできます( Maven FAQ から)

32
Bartosz Bilicki

タスクマネージャーでJava.exeプロセスを削除し、mvn clean installを実行します。

16
Bibek Shrestha

問題は、mvn cleanコマンドの実行中に、STS内で実行中のプロセスがターゲットディレクトリにあるファイルを使用していることです。 Mavenはこれらのファイルを削除できず(他のプロセスがまだファイルにアクセスしているため)、エラーで失敗します。

Mavenコンソールコマンドを実行する前に、STS内からすべてのプロセス(テスト、サーバー、アプリケーション)を停止してください。気を付けてください:この動作は、STSがプロジェクトをクリーンアップしてソースを再コンパイルし、プロセスを実行していない場合にも表示される場合があります。

13
Scorpio

おそらく、コンパイルされたソースを使用する多くのプロセスがあり、サーバー、古いMaven命令、またはIDEである可能性があります。必ずすべてのプロセスを終了し、サーバーを停止してから、mavenを再度実行してください。問題が解決しない場合は、Java.exeプロセスを閉じてください。

よろしく!

9

Mvn cleanの前に開いたターゲットフォルダーとそのファイルを閉じます。

6
Neha

Project-> Build Automaticallyを無効にしてみてください。

Scorpioが示唆したように、どこかでファイルをロックしているプロセスが実行されています。

私は定期的にクリーンで失敗する大規模なマルチモジュールMavenプロジェクトを持っていますが、これは私のためにそれを解決します。完了したら、自動的にビルドを再度有効にします。

6
Davetron

概要:a)サーバーを停止し、b)maven-cleanを実行する前に.jarファイルのロックを解除する外部スクリプト(バッチファイル)を使用します。

手順:

  1. Maven-antrun-plugin:runゴールをmvn cleanのpre-cleanフェーズにバインドします。これを行う方法を参照してください こちら

  2. Antrunプラグインを使用してWindowsで外部バッチファイルを実行する方法については、こちらをご覧ください。 「外部プロセスの開始」に対するsblundyの回答 。このファイルを呼び出しましょうunlock_handles.bat

  3. Pre = clean.batでSysinternals handleユーティリティ ダウンロードリンク を使用して、a)Tomcatサーバーを停止し、b)をアンロックします。 jarファイル。 handle -cおよびhandle -pはここで役立ちます。

ふう!少し手間がかかりますが、プロセスを確実に自動化するため、毎回手動で行う必要があります!


OK、試してみるためのunlock_handles.batの大まかな概念実証バージョンを次に示します。

REM "Use handle.exe to figure out the process id and handle ids, parse the output, then close the handle (again using handle.exe)"

cd "C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target"
"c:/Program Files/Process Explorer/handle.exe" -p Java.exe "C:\Users\Nikolay_Tkachev\workspace\HHSystem\UI\target" > handles.txt

@echo "O====== Going to unlock all the below file handles! =======O"
FOR /F "tokens=1-26 delims=: " %a in (handles.txt) DO @echo %h
FOR /F "tokens=1-26 delims=: " %a in (handles.txt) DO handle -p %c -c %f -y

もちろん、試してみる前にSysinternalsのhandle.exeへのパスを変更する必要があります。

5
vijucat

私は同じ問題とこれを持っています

mvn clean install -U

コマンドはエラーを修正しました。

4
Amir

すべての手順(既存の回答)が機能しない場合は、Eclipseを閉じて、再びEclipseを開きます。

3
Vijay Gupta

私は私のことを解決しました:

  • mvn clean
  • mvnインストール
  • mvnクリーンインストール

何らかの理由でそれは私のために働いた。幸運を !!

1
Boris_Ndong

同様の問題がありました。以前、私はMaven 3を使用してプロジェクトをビルドしていました。 Maven 2に切り替えた後、上記のエラーが発生しました。

Maven 3に切り替えて解決しました。

1
Madhu V Rao

Linuxユーザーの場合:可能な解決策。

"<any-file-or-folder>の削除に失敗しました" "によるビルドエラーが発生するのは、削除アクセスのみが提供された場合です- root user normal-userではなく。

修正:llコマンドを入力して、削除できないファイルを一覧表示します。ファイルにルートアクセス権が付与されている場合は、次の方法で通常のユーザーに変更します。

Sudo chown -Rユーザー名:ユーザー名filename

後でMavenのクリーンとビルドを試してください。

1
ram

事前クリーンフェーズでは、Maven Unlockerプログラムを使用して実行します。このプログラムは、すべてのプログラムのすべてのファイルとディレクトリのロックを解除します。

これをmaven-antrun-pluginで実行し、Windowsシステムでのみ実行します

<profile>
  <activation>
    <os>
      <family>windows</family>
    </os>
  </activation>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <phase>pre-clean</phase>
            <configuration>
              <tasks>
                <exec dir="${project.build.directory}" executable="cmd" failonerror="false">
                  <arg value="Unlocker.exe" />
                  <arg value="/S" />
                </exec>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</profile>
0
Raul Villalba

org.ow2.util.asm-asm-tree-3.1.jarをロックしてEclipseを起動すると、ログには誰がファイルをロックできなかったかが示されます。ファイルをロックできない同じコードラインは、ロックを解除しません。

0
Peter Rader

ターゲットフォルダーに対する管理者権限がない場合、Mavenは文句を言います。そのフォルダーを削除する管理者権限があるかどうかを確認します。

enter image description here

0
reshma

すべてのブラウザタブを閉じてください。そして、次回ターゲットフォルダー以外の場所から戦争をアップロードしようとするとき。

0
Atul Jain