web-dev-qa-db-fra.com

L'archive référencée par le classpath n'existe pas

Mon Eclipse est un classique d'Indigo Java.

J'ai un projet Java qui a mockito-all en tant que dépendance. pom.xml:

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>1.8.5</version>
    <scope>test</scope>
</dependency>

lancez mvn clean install, tout va bien. Ensuite, j'ai fait mvn Eclipse:eclipse pour résoudre toutes les dépendances dans Eclipse.

lorsque j'essaie de lancer un Junit dans Eclipse, il ne s'exécute pas et me donne cette erreur:

'Launching YourTest' has encountered a problem.

The archive: /home/shengjie/.m2/repository/org/mockito/mockito-all/1.9.5.jar which is referenced by the classpath, does not exist.

Mon projet pom.xml affirme que cela dépend de mockito-all 1.8.5, je ne sais pas trop d'où vient la référence 1.9.5. Des idées?

== EDIT ==

$ mvn dependency:tree | grep mockito
[INFO] +- org.mockito:mockito-all:jar:1.8.5:test
[INFO] \- org.powermock:powermock-api-mockito:jar:1.4.12:test
[INFO] \- org.powermock:powermock-api-mockito:jar:1.4.12:test
[INFO]    +- org.mockito:mockito-all:jar:1.8.5:test (version managed from 1.9.0)
[INFO] |  +- org.mockito:mockito-all:jar:1.8.5:test (version managed from 1.9.5; scope managed from compile)
[INFO] |  +- org.mockito:mockito-all:jar:1.8.5:test (version managed from 1.9.5; scope managed from compile)
[INFO] \- org.powermock:powermock-api-mockito:jar:1.4.12:test
[INFO] +- org.mockito:mockito-all:jar:1.8.5:test
[INFO] +- org.powermock:powermock-api-mockito:jar:1.4.12:test
[INFO] |  +- org.mockito:mockito-all:jar:1.8.5:test (version managed from 1.9.5; scope managed from compile)
22
Shengjie

J'ai eu un problème similaire alors que j'essayais de démarrer mon Tomcat. Je vous suggère de vérifier "Classpath" de la manière suivante:

1) Exécuter les configurations

  • Faites un clic droit sur votre projet
    • puis cliquez sur "Exécuter" -> "Exécuter les configurations ..."
    • vérifiez vos paramètres pour votre projet (dans mon cas, c’était l’Apache Tomcat) 
    • regardez dans l'onglet "Classpath" sous "User Entries"

2) Classpath du projet

  • Faites un clic droit sur votre projet -> "Propriétés" -> "Chemin de construction Java"
    • maintenant vérifier l'onglet "Source" ainsi que votre onglet "Bibliothèques"
    • Les problèmes doivent être marqués en rouge dans l'onglet "Bibliothèques"
58
Birol Efe

Dans mon cas d'utilisation d'ANT, je modifie le paramètre sous Windows -> Préférences -> Ant -> Exécution -> Entrées globales. Vous devez ajouter tools.jar en tant que fichier JAR externe.

6
macloving

Dans mon cas, j'avais un JRE installé, puis un JDK. ANT a semblé s'en tenir à la JRE même si j'ai modifié mon projet pour utiliser le JDK.

Pour résoudre ce problème, je devais faire: 1. Sélectionnez "Run As ..." 2. Sélectionnez la deuxième option "Ant build ..." 3. Cela fait apparaître un panneau pour permettre la configuration des paramètres. Choisissez l'onglet "JRE" et changez le JRE sélectionné en JDK.

2

Choisissez Fenêtre> Afficher la vue> Navigateur

Là, vous verrez le fichier .classpath où les dépendances liées à votre M2 Repo

Un exemple serait - 

<classpathentry 
 exported="true" 
 kind="var" 
 path="M2_REPO/javax/activation/activation/1.1.1-redhat-2/activation-1.1.1-redhat-2.jar"/>

Changer la version à celle sous 

Explorateur de projets> Votre projet> Bibliothèques> Dépendances Maven

 enter image description here

Espérons que cela résoudra le problème.

1
Shirgill Farhan

Si l'une des réponses précédentes ne fonctionnait pas, essayez ceci: Faites un clic droit sur votre projet -> Debug As -> Ouvrir la boîte de dialogue Debug ... -> Dans le chemin de classe, vous trouverez le fichier JAR qui vous cause problème. Enlevez-le.

J'espère que cela fonctionnera pour vous comme cela a fonctionné pour moi.

1
Issam El omri