当前位置: 首页 > 知识库问答 >
问题:

java和httpclient java.lang.NoClassDefFoundError

杨利
2023-03-14
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;

public class qq {

        public static void main(String[] args) throws UnsupportedEncodingException, IOException {
        HttpClient httpclient = new DefaultHttpClient();
//        HttpPost httppost = new HttpPost("http://192.168.0.102/uploadtest/upload_photo");
        System.out.println("aaaa");

    }
}
Manifest-version: 1.0
Main-Class: qq
javac -cp ./lib/httpclient-4.2.5.jar:./lib/httpcore-4.4.5.jar:./lib/httpmime-4.2.5.jar:./lib/commons-logging-1.2.jar qq.java
jar cfm test.jar manifest.mf qq.class
# java -jar test.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/impl/client/DefaultHttpClient
        at qq.main(qq.java:18)
Caused by: java.lang.ClassNotFoundException: org.apache.http.impl.client.DefaultHttpClient
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more

怎么解决这个?

共有1个答案

危寒
2023-03-14

我建议您使用Maven或Gradle,因为depandances是自动加载的。

Maven:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.1</version>
</dependency>

格雷德尔:

compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.1'
 类似资料:
  • 问题内容: 我很好奇,是否有人对提供对MSMQ的访问的Java库有任何建议?我已经下载了J-Integra Java- COM库的试用版,并构建并运行了他们的MSMQ示例应用程序,但是我很好奇是否有任何好的(免费的)替代方案。我遇到了一些JNI实现,例如jMSMQ和其他一些实现,但是如果可能的话,我宁愿避免使用JNI。 我们还研究了一些.NET <-> JMS互操作解决方案,例如JNBridge(

  • 问题内容: 我对单个文件数据库提供的简洁性感到着迷。可以使用哪些驱动程序/连接器库来连接SQLite并将其与Java一起使用。 我发现了一个包装器库http://www.ch-werner.de/javasqlite,但是还有其他更著名的项目吗? 问题答案: 在使用SQLite和Java 搜索信息时找到了你的问题。只是想我要补充我的回答,我也贴在我的博客。 我已经用Java编码了一段时间了。我也了

  • 我的第二个问题是:为什么在获得session.setAttribute()之后必须使用它来打印新值。我的逻辑如下。正如我们所知,每个servlet只实例化一次--我获取属性(session.getAttribute(COUNTER)),检查我是否不同于null,然后递增它,如果我注释setAttribute,我将无法看到新的递增值。为什么我必须重新设置才能得到正确的值?当我按refresh时,我发

  • 这个示例代码来自一本Java书籍,从墙上的99瓶啤酒到没有啤酒打印出这首歌。问题是,当墙上是1瓶啤酒时,它仍然写着瓶子。我试图通过在末尾添加部分来解决这个问题。但是,它仍然显示1瓶啤酒在墙上,我瓶啤酒在墙上。 我不知道该改变什么来解决这个问题。是否创建另一个while部分? 如果你能给他们一个提示,这样我就可以自己解决它,那也很酷!因为我知道我的实际歌曲输出是在第一个if部分,但我不知道我应该在哪

  • 问题内容: 在Linux中,是否可以在tomcat6上部署使用Java 7编写的Web应用程序?如果是这样,需要修改什么配置才能使其正常工作? 我已经尝试过更改文件中的变量并重新启动,但是根据tomcat管理器网页,它仍在使用1.6,并且只有以1.6或更低版本编写的应用程序才能正确部署。 我在不同位置安装了jdk 1.6和1.7。 问题答案: 使用Java JDK 1.7.0编译servlet时遇

  • 问题内容: 在阅读了Java HttpURLConnection上的所有文档之后,我仍然很困惑,因为它执行哪种池化以及如何处理连接。 例如下面的代码 是否都需要冲洗并关闭两者,以使基础套接字可重复使用? 是否会关闭底层套接字(从而使其无法重用)?是否会影响这种行为? 如果我使用不同的URL对象,但具有相同的URL,则从它们创建的s是否共享底层套接字?URL的主机部分相同但路径不同时如何? 何时会破

  • 问题内容: 我已经构建了一个Java程序作为服务器上数据库的前端,并且正在尝试使用SSL加密客户端和服务器之间的流量。这是我发出的用于创建服务器证书的命令: 以下是相关代码: 当我尝试运行此命令时,我发现了这一点: java.security.NoSuchAlgorithmException:构造实现时出错(算法:默认,提供程序:SunJSSE,类:com.sun.net.ssl.internal

  • 我试图执行一个bash脚本从Java与我的代码是: 问题是我收到错误: 如果我将< code>echo放在我的命令的第一个位置,它会在bash中打印正确的命令,如果我复制/粘贴这个命令,它会工作! 请帮我解决这个问题。