Java HttpClient 4.3.1创建HttpClient实例时出现问题

Java HttpClient 4.3.1创建HttpClient实例时出现问题,java,httpclient,apache-httpclient-4.x,Java,Httpclient,Apache Httpclient 4.x,我正在尝试将Http上载转换为使用新的HttpClient 4.3.1类。我是Java新手。我在网上找到的所有东西都使用不推荐使用的类(即HttpClient client=new DefaultHttpClient()或更旧的方法来创建HttpClient实例。请原谅下面的所有额外库,我的项目的其余部分将需要一些库 我尝试了无数种不同的方法来创建实例,下面是我在org.appache documentation for 4.3.1中看到的方法。 不幸的是,我收到一个错误,指示HttpClien

我正在尝试将Http上载转换为使用新的HttpClient 4.3.1类。我是Java新手。我在网上找到的所有东西都使用不推荐使用的类(即HttpClient client=new DefaultHttpClient()或更旧的方法来创建HttpClient实例。请原谅下面的所有额外库,我的项目的其余部分将需要一些库

我尝试了无数种不同的方法来创建实例,下面是我在org.appache documentation for 4.3.1中看到的方法。
不幸的是,我收到一个错误,指示HttpClientBuilder不可见。我甚至不确定不可见意味着什么…库已导入。有人能告诉我创建HttpClient实例的正确方向吗

 package newHttpApiUpload;

 import org.apache.http.client.HttpClient;
 import org.apache.http.HttpConnection;  
 import org.apache.http.conn.HttpClientConnectionManager;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;  
 import org.apache.http.client.config.RequestConfig; 
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.entity.AbstractHttpEntity; 

 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;

 public class Api {

     protected static final HttpClientBuilder client = new HttpClientBuilder();

 }

您需要使用来自的静态工厂方法


您可以使用它们来获取
HttpClient
的预配置实例,或者使用
HttpClientBuilder
使用
HttpClientBuilder
应用自定义配置构造函数
HttpClientBuilder()
受保护(非公共)所以你不能从你的代码中调用它,这就是不可见的意思

使用静态构造函数方法调用生成器,如下所示:

HttpClientBuilder.create();
或者,快速创建一个客户机(这是整个要点)


我是否应该使用private static final?这些方法建议“不要解析为类型”。我查看了HttpClientBuilder中的方法,发现了一个名为build()的方法,但它返回了相同的“不解析为类型”错误。感谢您花时间回答!您自己的修饰符不会影响这一点。“无法解析为类型”是一个Eclipse类路径问题,与代码本身无关。啊,好吧。哦,劳德……解决类路径问题听起来是个好时机。我摸索了构建类路径和Eclipse类路径文档……丢失了。:)哦,好吧……学习的乐趣。再次感谢!最终我需要使用:HttpClient-HttpClient=HttpClients.createDefault()
HttpClient client = HttpClientBuilder.create()
  .setUserAgent("MyAgent")
  .setMaxConnPerRoute(4)
  .build()