J'essaie de lancer un projet de jambes de force simple en utilisant Maven et Tomcat.
Lorsque j'essaie de déterminer les objectifs suivants: clean install Tomcat7:run
J'obtiens 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]
J'ai cherché sur Google et je comprends que Tomcat utilise ce fichier access_log
, où il enregistre les demandes des utilisateurs. Et au moment où je veux exécuter les objectifs énumérés ci-dessus, car j'utilise Eclipse IDE, la JVM refuse de supprimer ce fichier.
J'ai vu les mêmes questions: Impossible d'exécuter l'objectif org.Apache.maven.plugins: maven-clean-plugin: 2.4.1 , Maven - Impossible d'exécuter l'objectif org.Apache.maven.plugins: maven-clean -plugin: 2.4.1: propre .
Mais ne comprenez pas les solutions proposées à ce problème.
J'ai constaté ce type d'erreur chaque fois qu'un processus verrouille un fichier dans un sous-dossier que Maven tente de nettoyer. Vérifiez que votre instance Tomcat est réellement arrêtée (recherchez les processus Java dans le gestionnaire de tâches qui ne devraient pas être là). J'ai également créé ce problème pour moi-même en ouvrant le journal des accès dans un éditeur de texte, puis en oubliant de fermer l'éditeur après avoir arrêté Tomcat et essayé de lancer une nouvelle version.
Micahel Peacock et khmarbaise avaient raison sur le fait qu'un processus bloque la suppression.
Ceci est une astuce pour les débutants maven, comme moi.
J'ai rencontré un tel problème, car après avoir exécuté Tomcat
avec des objectifs maven clean install Tomcat7:run
, je l'ai arrêté via le fichier de commandes shutdown
dans le répertoire ${CATALINA_HOME}/bin
ou via le plugin Eclipse Tomcat installé en cliquant sur l'étiquette suivante:
Mais pour le faire correctement, vous devez cliquer sur arrêter l'étiquette dans la vue de la console:
Ensuite, l’instance locale Tomcat sera arrêtée et aucune erreur de ce type n’apparaîtra, car le processus s’arrêtera normalement.
J'ai eu le même problème à Fedora. Dans mon cas, le propriétaire du répertoire targe a été remplacé par root Usring -> [chown votre cible nom-utilisateur] Je le répare
Fermez simplement votre invite de commande et exécutez-la à nouveau en tant qu’administrateur, puis lancez votre commande maven, à savoir.