Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/http/ConnectionReuseStrategy:
Je suis en train d'exécuter en tant qu'Application Java dans un projet maven avec Eclipse et j'obtiens l'erreur exécution suivantes.L'erreur est indiqué ci-dessous.
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/http/ConnectionReuseStrategy à
com.wang.testMaven.App.principale(App.java:16) Causés par:
java.lang.ClassNotFoundException:
org.apache.http.ConnectionReuseStrategy à
java.net.URLClassLoader.findClass(URLClassLoader.java:381), au
java.lang.Chargeur de classe.loadClass(ClassLoader.java:424) à
java.lang.Chargeur de classe.loadClass(ClassLoader.java:357)
et mon code est indiqué ci-dessous
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
HttpClient httpClient = HttpClientBuilder.create().build();
System.out.println( "Hello World!" );
}
}
Mon pom.xml est indiqué ci-dessous
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wang</groupId>
<artifactId>testMaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>testMaven</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.1-alpha1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-cache</artifactId>
<version>4.5.2</version>
</dependency>
</dependencies>
</project>
une idée..merci
- essayez de nettoyer et reconstruire le projet
- oui,je l'ai essayé plusieurs fois mais il est sans aucun effet!
- Parce que vous exécutez sur Eclipse, vous devez vérifier la httpcore est en projet eclipse classpath? Un point de plus est de vérifier si le httpcore-4.1alpha1 a de la classe:ConnectionReuseStrategy
Vous devez vous connecter pour publier un commentaire.
J'ai réalisé qu'il y a quelques dépendances avec le même groupId et artifactId.
Et
En fait, vous devriez avoir un seul de dépendance avec la même groupId et artifactId.
Donc tout d'abord j'ai enlevé httpcore:4.1-alpha1 dépendance et exécuté la classe de test. Je suis l'exception, comme
Ensuite, j'ai utilisé httpcore:4.1-alpha1 au lieu de httpcore-4.1, j'ai eu la même exception.
Et donc quand j'ai mis à jour le httpcore version 4.3.3 basé sur DONC, le lien, je suis l'exception, comme -
Enfin la mise à jour de la httpcore version 4.4, il fonctionnait parfaitement bien. Donc, il faut travailler pour tous les httpcore version pots 4.4 ci-dessus. (J'ai testé pour 4.4.4 et il a également travaillé très bien.). Les versions disponibles sont mentionnées ici. Veuillez trouver le code de travail sur ici.