Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“线程中的异常”;“主要”;java.lang.NoClassDefFoundError:org/apache/http/connectionReuseStragey:_Java_Maven 2 - Fatal编程技术网

“线程中的异常”;“主要”;java.lang.NoClassDefFoundError:org/apache/http/connectionReuseStragey:

“线程中的异常”;“主要”;java.lang.NoClassDefFoundError:org/apache/http/connectionReuseStragey:,java,maven-2,Java,Maven 2,我试图在一个带有Eclipse的maven项目中以Java应用程序的形式运行,我得到了以下运行时错误 线程“main”java.lang.NoClassDefFoundError中出现异常: org/apache/http/ConnectionReuseStrategy位于 com.wang.testMaven.App.main(App.java:16)由以下原因引起: java.lang.ClassNotFoundException: org.apache.http.ConnectionReu

我试图在一个带有Eclipse的maven项目中以Java应用程序的形式运行,我得到了以下运行时错误

线程“main”java.lang.NoClassDefFoundError中出现异常: org/apache/http/ConnectionReuseStrategy位于 com.wang.testMaven.App.main(App.java:16)由以下原因引起: java.lang.ClassNotFoundException: org.apache.http.ConnectionReuseStrategy位于 java.net.URLClassLoader.findClass(URLClassLoader.java:381)位于 loadClass(ClassLoader.java:424)位于 loadClass(ClassLoader.java:357)

我的代码如下所示

public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        HttpClient httpClient = HttpClientBuilder.create().build();
        System.out.println( "Hello World!" );

    }
}
<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>
我的pom.xml如下所示

public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        HttpClient httpClient = HttpClientBuilder.create().build();
        System.out.println( "Hello World!" );

    }
}
<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>

4.0.0
王康
testMaven
0.0.1-快照
罐子
testMaven
http://maven.apache.org
UTF-8
org.apache.httpcomponents
httpcore
4.1-1
朱尼特
朱尼特
3.8.1
测试
org.apache.httpcomponents
httpclient
4.5.2
org.apache.httpcomponents
httpime
4.5.2
org.apache.httpcomponents
httpcore
4.1
org.apache.httpcomponents
httpclient缓存
4.5.2

任何想法..谢谢

我意识到有两个依赖项具有相同的groupId和artifactId

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpcore</artifactId>
    <version>4.1-alpha1</version>
</dependency>
然后我用httpcore:4.1-alpha1代替了httpcore-4.1,得到了相同的异常

因此,当我基于将httpcore版本更新为4.3.3时,我得到了一个例外-

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/ssl/SSLContexts
    at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:966)
    at com.amitg.so.App.main(App.java:11)

最后将httpcore版本更新到4.4,它工作得非常好。因此,它应该适用于4.4以上的所有httpcore版本JAR。(我测试了4.4.4,效果也不错。)。提到了可用的版本。请查找正在运行的代码。

尝试清理并重新生成代码project@Abdelhak是的,我已经试过很多次了,但是没有任何效果!因为您在Eclipse上运行,所以应该检查httpcore是否在Eclipse项目类路径中?还有一点需要检查httpcore-4.1alpha1是否具有以下等级:ConnectionReuseStrategy@asgThank谢谢你的回答!但是当我使用你的工作代码时,它不起作用。也许我认为这是我的Eclipse的原因。我使用的是STS 3.7.0.20,它与STS一起工作很好。@asgI知道原因。我已经将.jar文件复制到我的JDK文件夹中了!在我删除它们之后,它就可以工作了。!很高兴知道。谢谢谢谢@asg的回答!基于Spring依赖关系文档,我将org.apache.httpcomponents-httpcore版本更改(升级)为4.4.13,它对我很有效。此处参考: