DOS下提示错误:NoClassDefFoundError:Searcher(wrong name:news/Searcher)
程序中没有main函数吗?不明白
-------------------------------------------------------------------------------
package news;import com.heaton.bot.HTTP;
import com.heaton.bot.HTTPSocket;
import com.heaton.bot.ISpiderReportable;
import com.heaton.bot.IWorkloadStorable;
import com.heaton.bot.Spider;
import com.heaton.bot.SpiderInternalWorkload;//实现接口
public class Searcher
implements ISpiderReportable {
public static void main(String[] args) throws Exception {
//SpiderInternalWorkload:基于内存的作业管理的方法
IWorkloadStorable wl = new SpiderInternalWorkload();
Searcher _searcher = new Searcher();
Spider _spider
//Spider(报告发现的对象,开始的URL,HTTP处理程序(HTTPSocket 类来通过HTTP 协议发送和接收数据),线程池的大小,制定的作业管理器)
= new Spider(_searcher, "http://www.sina.com",
new HTTPSocket(), 100, wl);
//setMaxBody设置要下载的正文大小
_spider.setMaxBody(100);
_spider.start();
}
//发现内部链接
public boolean foundInternalLink(String url) {
return false;
}
//发现外部链接
public boolean foundExternalLink(String url) {
return false;
}
//发现其他链接(非HTML链接)
public boolean foundOtherLink(String url) {
return false;
}
//用于处理网页,Spider要完成的实际工作,page参数包含网页内容
public void processPage(HTTP http) {
System.out.println("扫描网页:" + http.getURL());
new HTMLParse(http).start();
}
//用来请求一个被处理的网页,这个网页刚刚被Spider下载,参数page中是网页的内容,当这个网页产生HTML错误时参数error为真
public void completePage(HTTP http, boolean error) {
}
//由Spider调用以确定查询字符串是否应删除,如果队列中的字符串应当删除,这一方法返回真
public boolean getRemoveQuery() {
return true;
}
//当Spider程序没有剩余的工作时调用这个方法
public void spiderComplete() {
}
}
程序中没有main函数吗?不明白
-------------------------------------------------------------------------------
package news;import com.heaton.bot.HTTP;
import com.heaton.bot.HTTPSocket;
import com.heaton.bot.ISpiderReportable;
import com.heaton.bot.IWorkloadStorable;
import com.heaton.bot.Spider;
import com.heaton.bot.SpiderInternalWorkload;//实现接口
public class Searcher
implements ISpiderReportable {
public static void main(String[] args) throws Exception {
//SpiderInternalWorkload:基于内存的作业管理的方法
IWorkloadStorable wl = new SpiderInternalWorkload();
Searcher _searcher = new Searcher();
Spider _spider
//Spider(报告发现的对象,开始的URL,HTTP处理程序(HTTPSocket 类来通过HTTP 协议发送和接收数据),线程池的大小,制定的作业管理器)
= new Spider(_searcher, "http://www.sina.com",
new HTTPSocket(), 100, wl);
//setMaxBody设置要下载的正文大小
_spider.setMaxBody(100);
_spider.start();
}
//发现内部链接
public boolean foundInternalLink(String url) {
return false;
}
//发现外部链接
public boolean foundExternalLink(String url) {
return false;
}
//发现其他链接(非HTML链接)
public boolean foundOtherLink(String url) {
return false;
}
//用于处理网页,Spider要完成的实际工作,page参数包含网页内容
public void processPage(HTTP http) {
System.out.println("扫描网页:" + http.getURL());
new HTMLParse(http).start();
}
//用来请求一个被处理的网页,这个网页刚刚被Spider下载,参数page中是网页的内容,当这个网页产生HTML错误时参数error为真
public void completePage(HTTP http, boolean error) {
}
//由Spider调用以确定查询字符串是否应删除,如果队列中的字符串应当删除,这一方法返回真
public boolean getRemoveQuery() {
return true;
}
//当Spider程序没有剩余的工作时调用这个方法
public void spiderComplete() {
}
}
Exxeption in thread "main" java.lang.NoClassDefFoundError:Searcher(wrong name:news/Searcher)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.LoadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
如果jdk安装目录为C:\JDK1.5.0,则先后在DOS命令行下执行如下两条命令即可。
set JAVA_HOME=C:\JDK1.5.0
set PATH=%JAVA_HOME%\bin;%PATH%