当前位置:编程学习 > JAVA >>

为何总是找不到程序入口

小弟是一名学生,最近在研究java爬虫。 

现在正在做一个获取网页的程序,在工程里新建一个默认有public static void main(String args[])的类,可以运行,

可是,输入以下代码后,就总是提示 Could not find main class!

上网查了很多帖子, java libraries 和compiler都是用的是1.6, java libraries里没有叉号。

我又把class删掉,新建一个class 再把代码拷进去,还是不行。

希望有经验丰富的程序员指点迷津!

环境是用的myEclipse8.5,httpclient用的是3.1的版本。

import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;

public class RetrivePage {

private static HttpClient httpClient = new HttpClient();
// 设置代理服务器
static {
// 设置代理服务器的IP 地址和端口
httpClient.getHostConfiguration().setProxy("172.17.18.84", 8080);
}
public static boolean downloadPage(String path) throws HttpException,IOException {
InputStream input = null;
OutputStream output = null;
// 得到post 方法
PostMethod postMethod = new PostMethod(path);
//设置post 方法的参数
NameValuePair[] postData = new NameValuePair[2]; postData[0] = new NameValuePair("name","lietu"); postData[1] = new NameValuePair("password","*****");
postMethod.addParameters(postData);
//执行,返回状态码
int statusCode = httpClient.executeMethod(postMethod);
//针对状态码进行处理(简单起见,只处理返回值为200 的状态码)
if (statusCode == HttpStatus.SC_OK) {
input = postMethod.getResponseBodyAsStream();
//得到文件名
String filename = path.substring(path.lastIndexOf('/')+1);
//获得文件输出流
output = new FileOutputStream(filename);
//输出到文件
int tempByte = -1;
while((tempByte=input.read())>0){
output.write(tempByte);
}
//关闭输入输出流
if(input!=null){
input.close();
}
if(output!=null){
output.close();
}
return true;
}
return false;

}
public static void main(String[] args) {
try {
RetrivePage.downloadPage("http://www.lietu.com/");

catch (HttpException e) {
e.printStackTrace();

catch (IOException e) {
e.printStackTrace();
}

}

} --------------------编程问答-------------------- 很不幸的告诉你:代码没问题 --------------------编程问答--------------------
引用 楼主 u012339277 的回复:
小弟是一名学生,最近在研究java爬虫。 

现在正在做一个获取网页的程序,在工程里新建一个默认有public static void main(String args[])的类,可以运行,

可是,输入以下代码后,就总是提示 Could not find main class!

上网查了很多帖子, java libraries 和compiler都是用的是1.6, java libraries里没有叉号。

我又把class删掉,新建一个class 再把代码拷进去,还是不行。

希望有经验丰富的程序员指点迷津!

环境是用的myEclipse8.5,httpclient用的是3.1的版本。

import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;

public class RetrivePage {

private static HttpClient httpClient = new HttpClient();
// 设置代理服务器
static {
// 设置代理服务器的IP 地址和端口
httpClient.getHostConfiguration().setProxy("172.17.18.84", 8080);
}
public static boolean downloadPage(String path) throws HttpException,IOException {
InputStream input = null;
OutputStream output = null;
// 得到post 方法
PostMethod postMethod = new PostMethod(path);
//设置post 方法的参数
NameValuePair[] postData = new NameValuePair[2]; postData[0] = new NameValuePair("name","lietu"); postData[1] = new NameValuePair("password","*****");
postMethod.addParameters(postData);
//执行,返回状态码
int statusCode = httpClient.executeMethod(postMethod);
//针对状态码进行处理(简单起见,只处理返回值为200 的状态码)
if (statusCode == HttpStatus.SC_OK) {
input = postMethod.getResponseBodyAsStream();
//得到文件名
String filename = path.substring(path.lastIndexOf('/')+1);
//获得文件输出流
output = new FileOutputStream(filename);
//输出到文件
int tempByte = -1;
while((tempByte=input.read())>0){
output.write(tempByte);
}
//关闭输入输出流
if(input!=null){
input.close();
}
if(output!=null){
output.close();
}
return true;
}
return false;

}
public static void main(String[] args) {
try {
RetrivePage.downloadPage("http://www.lietu.com/");

catch (HttpException e) {
e.printStackTrace();

catch (IOException e) {
e.printStackTrace();
}

}

}

那怎么办?
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,