如何阻止 HttpClient 的资源泄漏?

How to stop resource leak at HttpClient?

我有一些代码可以使用 org.apache.http.client.HttpClient 下载文件。现在我的 IDE 告诉我我有一个 Potential resource leak: 'client' may not be closed。具体代码为:

HttpClient client = HttpClientBuilder.create().build();

HttpResponse response = client.execute(request);

HttpEntity entity = response.getEntity();

我做了一些研究并找到了 EntityUtils.consume(entity);,但这并没有解决 client 的资源泄漏问题。

所以我的问题是,这真的是资源泄漏吗?如果是,我该如何正确关闭它?

因为我找不到任何其他方法并且 Eclipse IDE 没有任何其他可用的快速修复,我尝试了唯一建议的 "fix" 合并所有 3 行像这样分成 1 行:

HttpEntity entity = HttpClientBuilder.create().build().execute(request).getEntit‌​y();

我不确定这是否真的解决了资源泄漏问题,但至少 Eclipse 似乎在考虑