[英]error: package org.apache.http.client.methods does not exist
沒有行家,gradle之類的東西。 我該如何解決以下問題? 我已經閱讀了有關Java類路徑的問題。 但是我需要深入了解如何找到一個程序包並將其包含在我的項目中。 確切地說,如何在該項目中包含org.apache.http.client.methods.HttpGet
的內容。
這是HelloWorld.java文件
import java.io.IOException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
public class HelloWorld {
public static void main (String[] args) throws IOException {
Runtime.getRuntime().exec("clear");
System.out.println("Console!!!");
String url = "http://www.example.com";
HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(url);
request.addHeader("User-Agent", USER_AGENT);
HttpResponse response = client.execute(request);
BufferReader rd = new BufferReader(
new InputStreamReader(
response.getEntity().getContent()
)
);
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
System.out.println(result);
}
}
這是命令
javac HelloWorld.java
這是輸出
HelloWorld.java:2: error: package org.apache.http.client.methods does not exist
import org.apache.http.client.methods.HttpGet;
^
HelloWorld.java:3: error: package org.apache.http.client does not exist
import org.apache.http.client.HttpClient;
^
HelloWorld.java:4: error: package org.apache.http.impl.client does not exist
import org.apache.http.impl.client.HttpClientBuilder;
^
HelloWorld.java:13: error: cannot find symbol
HttpClient client = HttpClientBuilder.create().build();
^
symbol: class HttpClient
location: class HelloWorld
HelloWorld.java:13: error: cannot find symbol
HttpClient client = HttpClientBuilder.create().build();
^
symbol: variable HttpClientBuilder
location: class HelloWorld
HelloWorld.java:14: error: cannot find symbol
HttpGet request = new HttpGet(url);
^
symbol: class HttpGet
location: class HelloWorld
HelloWorld.java:14: error: cannot find symbol
HttpGet request = new HttpGet(url);
^
symbol: class HttpGet
location: class HelloWorld
HelloWorld.java:15: error: cannot find symbol
request.addHeader("User-Agent", USER_AGENT);
^
symbol: variable USER_AGENT
location: class HelloWorld
HelloWorld.java:16: error: cannot find symbol
HttpResponse response = client.execute(request);
^
symbol: class HttpResponse
location: class HelloWorld
HelloWorld.java:19: error: cannot find symbol
BufferReader rd = new BufferReader(
^
symbol: class BufferReader
location: class HelloWorld
HelloWorld.java:19: error: cannot find symbol
BufferReader rd = new BufferReader(
^
symbol: class BufferReader
location: class HelloWorld
HelloWorld.java:20: error: cannot find symbol
new InputStreamReader(
^
symbol: class InputStreamReader
location: class HelloWorld
12 errors
我怎么解決這個問題? 如何添加供應商代碼? 如何導入org.apache.http.client.methods.HttpGet? ...
抱歉,我來自PHP。 在php中,我們有作曲家和包裝專家。 在Java世界中?
如果您下載了包含apache http內容的jar文件,請以這種方式更改您的命令行
javac -classpath <the_location_of_the_jar>;. HelloWorld.java
分號分隔一個或多個位置,點表示當前目錄
首先,您提供的代碼存在語法錯誤:1)您應該導入在Java文件中使用的所有類; 2)您拼寫為“ BufferedReader”。3)代碼中的USER_AGENT沒有定義。 一種修改后的代碼將如下所示:package com; 導入java.io. *;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.*;
import org.apache.http.client.*;
import org.apache.http.impl.client.HttpClientBuilder;
public class HelloWorld {
public static void main (String[] args) throws IOException {
Runtime.getRuntime().exec("clear");
System.out.println("Console!!!");
String url = "http://www.example.com";
HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(url);
request.addHeader("User-Agent", "XXXX");
HttpResponse response = client.execute(request);
BufferedReader rd = new BufferedReader (
new InputStreamReader(
response.getEntity().getContent()
)
);
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
System.out.println(result);
}
}
然后,我們可以開始使用javac來編譯您的代碼。您的代碼已經引用了其他類,例如HttpClient或BufferedReader等。因此,您應該通過兩種替代方式告訴javac包含所引用類的jar:1)配置系統環境變量“ CLASSPATH”,其值是用分號分隔的jar列表,其中包含您引用的所有類。 2)向您的javac命令添加-classpath選項,該選項的值與“ CLASSPATH”相同。對於我的Windows環境,我使用以下命令進行了測試: C:\\Users\\Administrator>javac -classpath "C:\\Program Files\\Java\\jdk1.8.0_66\\jre\\lib;C:\\Program Files\\Java\\jdk1.8.0_66\\lib;C:\\com\\lib\\httpclient-4.5.2.jar;C:\\c\\lib\\httpclient-cache-4.5.2.jar;C:\\com\\lib\\httpcore-4.4.4.jar;C:\\com\\lib\\httpclient-win-4.5.2.jar;C:\\com\\lib\\httpmime-4.5.2.jar" c:\\com\\HelloWorld.java
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.