MavenとTomcatを使用して単純なStrutsプロジェクトを実行しようとしています。
次の目標を実行しようとしているとき:clean install Tomcat7:run
MojoExecutionException
を取得しています:
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-clean-plugin:2.5:clean
(default-clean) on project myproject: Failed to clean project: Failed to delete
D:\EclipseWorkspace\myproject\target\Tomcat\logs\access_log.2015-02-21
-> [Help 1]
私はグーグルし、Tomcatがこれを使用していることを理解しましたaccess_log
ファイル。ユーザーのリクエストを記録します。上記の目標を実行したいときには、Eclipse IDEを使用しているため、JVMはこのファイルの削除を拒否します。
私は同じ質問を見ました: ゴールorg.Apache.maven.plugins:maven-clean-plugin:2.4.1 の実行に失敗しました、 Maven-目標org.Apache.maven.plugins:maven-clean-plugin:2.4.1:clean の実行に失敗しました。
しかし、そのような問題に対して提案された解決策を理解していない。
Mavenがクリーンアップしようとしているサブフォルダーのファイルにロックを保持しているプロセスがあるときはいつでも、この種のエラーを見てきました。 Tomcatインスタンスが本当に停止していることを確認します(タスクマネージャーでJavaプロセスをそこに置くべきではないので探してください)。アクセスログをテキストで開いて、この問題を自分で作成しましたエディター、Tomcatをシャットダウンして新しいビルドを実行しようとした後、エディターを閉じるのを忘れています。
Micahel Peacockおよびkhmarbaiseは、いくつかのプロセスが削除をブロックしていることについて正しかった。
これは、私のような初心者初心者向けのヒントです。
Tomcat
をmavenの目標clean install Tomcat7:run
で実行した後、${CATALINA_HOME}/bin
ディレクトリのshutdown
バッチファイルまたはインストールされているEclipse Tomcatプラグインのいずれかで停止したため、このような問題に直面しました。次のラベルをクリックして:
しかし、正しい方法でそれを行うには、コンソールビューで停止ラベルをクリックする必要があります。
次に、プロセスが正常にシャットダウンするため、ロケールのTomcatインスタンスが停止し、そのようなエラーは表示されません。
Fedoraでも同じ問題がありました。私の場合、targeディレクトリの所有者がroot usringに変更されました-> [chown your-username target]修正しました。
コマンドプロンプトを閉じて管理者として再度実行し、その後mavenコマンド、つまりmvn cleanを実行すると、正常に機能します。