Java NoClassDefFoundError

Java NoClassDefFoundError,java,regex,Java,Regex,这里我下载了一个网页源代码,然后将其存储在文本文件中。然后我读取该文件并将其与正则表达式匹配以搜索特定字符串 没有编译器错误 Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/CharSequence 谁能告诉我哪里错了 java version "1.3.1_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01) Java

这里我下载了一个网页源代码,然后将其存储在文本文件中。然后我读取该文件并将其与正则表达式匹配以搜索特定字符串

没有编译器错误

Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/CharSequence
谁能告诉我哪里错了

java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)

import java.io.*;
导入java.net。*;
导入java.lang.*;
导入java.util.regex.Matcher;
导入java.util.regex.Pattern;
公共类网络下载
{
公共网站()
{
试一试{
URL=newURL(“www.gmail.com”);//可以给出任何URL
URLConnection urlc=url.openConnection();
BufferedInputStream buffer=新的BufferedInputStream(urlc.getInputStream());
StringBuffer builder=新的StringBuffer();
内特比德;
FileOutputStream-fout;
StringBuffer contentBuf=新的StringBuffer();
而((byteRead=buffer.read())!=-1)
{
builder.append((char)byteRead);
fout=新文件输出流(“myfile3.txt”);
新的PrintStream(fout.println(builder.toString());
fout.close();
} 
BufferedReader in=new BufferedReader(new FileReader(“myfile3.txt”);
字符串buf=null;
而((buf=in.readLine())!=null){
contentBuf.append(buf);contentBuf.append(“\n”);
}
in.close();

Pattern p=Pattern.compile(([^来自API::java.lang.NoClassDefFoundError-如果java虚拟机或类加载器实例尝试加载类的定义(作为普通方法调用的一部分或使用新表达式创建新实例的一部分),并且找不到该类的定义,则引发该错误

听起来你要么缺少所需的库,要么它们不在你的道路上。我会先检查一下


另外,请检查JAVA_HOME\lib中正在导入的类。

来自API::JAVA.lang.NoClassDefFoundError-如果JAVA虚拟机或ClassLoader实例试图加载类的定义(作为普通方法调用的一部分或使用新表达式创建新实例的一部分),则会引发此错误并且找不到该类的定义

听起来你要么缺少所需的库,要么它们不在你的道路上。我会先检查一下


另外,请检查JAVA_HOME\lib中正在导入的类。

是否使用1.3 JVM来执行代码?如果代码是以1.3兼容性(或更低)编译的,这将解释错误,但针对1.4或更高版本的JRE库。

您是否可能使用1.3 JVM来执行代码?如果代码是以1.3兼容(或更低版本)编译的,但针对1.4或更高版本的JRE库,这可以解释错误。

看起来您的应用程序正在使用java 1.3运行。您可以键入
java-version
并粘贴输出吗?
你是在什么操作系统上运行的?你是如何运行你的应用程序的?

看起来你的应用程序是用java 1.3运行的。你能键入
java-version
并粘贴输出吗?
您使用的是什么操作系统?您如何运行应用程序?

请注意,您通常可以参考javadoc来确定您正在使用的Java版本中是否有可用的API。例如,状态“自:1.4”


我通常会保留一个指向易于访问的API的链接。

注意,您通常可以参考javadoc来确定您正在使用的Java版本中是否有可用的API。例如,状态“自:1.4”


我通常会保留一个指向易于访问的链接。

该接口仅在Java 1.4之后存在,但您正在运行Java 1.3。该接口由您在代码中使用的
StringBuffer
类使用。Java的当前版本是Java 6-如果可以,我建议您进行更新。

该接口仅在从Java 1.4开始,但您正在运行Java 1.3。此接口由您在代码中使用的
StringBuffer
类使用。Java的当前版本是Java 6-如果可以,我建议您进行更新。

听起来运行时的版本低于您编译的版本。听起来运行时的版本低于w你所反对的。
import java.io.*;
import java.net.*;
import java.lang.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class WebDownload
{
  public void getWebsite()
   {
     try{
    URL url=new URL("www.gmail.com");// any URL can be given
    URLConnection urlc=url.openConnection();
    BufferedInputStream buffer=new BufferedInputStream(urlc.getInputStream());
    StringBuffer builder=new StringBuffer();
    int byteRead;
    FileOutputStream fout;
    StringBuffer contentBuf = new StringBuffer();

    while((byteRead=buffer.read())  !=-1)
    {

        builder.append((char)byteRead);



         fout = new FileOutputStream ("myfile3.txt");


            new PrintStream(fout).println (builder.toString());

            fout.close();   


    } 
    BufferedReader in = new BufferedReader(new FileReader("myfile3.txt"));
String buf = null;
while ((buf = in.readLine()) != null) {
 contentBuf.append(buf);contentBuf.append("\n");
}
in.close();
Pattern p = Pattern.compile("<div class=\"summarycount\">([^<]*)</div>");
Matcher matcher = p.matcher(contentBuf);
 if(matcher.find())
     {
    System.out.println(matcher.group(1));
     }
  else

     System.out.println("could not find");
  }
     catch(MalformedURLException ex) {
    ex.printStackTrace();
    }
    catch(IOException ex){
      ex.printStackTrace();
     }



  }
  public static void main(String [] args)
   {
     WebDownload web=new WebDownload();
   web.getWebsite();
  }
}