Java HttpClient版本3.1错误

Java HttpClient版本3.1错误,java,apache-httpclient-4.x,apache-commons-httpclient,Java,Apache Httpclient 4.x,Apache Commons Httpclient,我正在尝试将XML文件作为Http POST请求传递。当我在Linux机器上使用CURL测试Web服务时,它运行良好,XML格式良好。我正试图编写一个Java实用程序来实现同样的功能。我在Apache Commons HttpClient库3.1版中找到了一个示例,下面是我的代码: 进口: import java.io.File; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclie

我正在尝试将XML文件作为Http POST请求传递。当我在Linux机器上使用CURL测试Web服务时,它运行良好,XML格式良好。我正试图编写一个Java实用程序来实现同样的功能。我在Apache Commons HttpClient库3.1版中找到了一个示例,下面是我的代码:

进口:

import java.io.File;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.FileRequestEntity;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
代码:

我得到一个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.commons.httpclient.HttpMethodBase.<clinit>(HttpMethodBase.java:104)
at Test.main(Test.java:40)
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException
at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220)
at org.apache.commons.httpclient.methods.ExpectContinueMethod.<init>(ExpectContinueMethod.java:93)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.<init>(EntityEnclosingMethod.java:119)
at org.apache.commons.httpclient.methods.PostMethod.<init>(PostMethod.java:106)
at Test.main(Test.java:40)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException

怎么了?请帮助。

您错过了类路径中的apache
commons logging.jar
。下载它并将其添加到类路径中

更新:
现在您需要下载并添加它。

您只需要将Apache commons日志jar添加到您的类路径(如果您使用的是IDE,则添加到您的项目库)中,就可以从中下载它。

我通过导入以下依赖项解决了这个问题

    <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>3.1</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>*</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

commons httpclient
commons httpclient
3.1
公用记录
*
PostMethod post = new PostMethod(strURL);
    <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>3.1</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>*</artifactId>
            </exclusion>
        </exclusions>
    </dependency>