当前位置: 技术问答>java相关
(菜鸟问题)为什么老是报这样的错啊,
来源: 互联网 发布时间:2017-03-24
本文导语: 为什么我运行它,老是报这样的错误 Exception in thread "main" java.lang.NoClassDefFoundError: EchoServer /* 服务器端返回测试小程序 */ import java.io.*; import java.net.*; public class EchoServer { public static void main(String[] args) { ...
为什么我运行它,老是报这样的错误
Exception in thread "main" java.lang.NoClassDefFoundError: EchoServer
/*
服务器端返回测试小程序
*/
import java.io.*;
import java.net.*;
public class EchoServer
{
public static void main(String[] args)
{
try
{
ServerSocket s=new ServerSocket(8189);
Socket incoming=s.accept();
BufferedReader in=new BufferedReader(new InputStreamReader(incoming.getInputStream()));
PrintWriter out=new PrintWriter(incoming.getOutputStream(),true/*autoFlush*/);
out.println("hello!Enter BYE to quit.");
boolean done=false;
while(!done)
{
String line=in.readLine();
if(line==null) done=true;
else
{
out.println("Echo :"+line);
if(line.trim().equals("BYE"))
done=true;
}
}
incoming.close();
}
catch(Exception e)
{
System.out.println("Error: "+e);
}
}
}
Exception in thread "main" java.lang.NoClassDefFoundError: EchoServer
/*
服务器端返回测试小程序
*/
import java.io.*;
import java.net.*;
public class EchoServer
{
public static void main(String[] args)
{
try
{
ServerSocket s=new ServerSocket(8189);
Socket incoming=s.accept();
BufferedReader in=new BufferedReader(new InputStreamReader(incoming.getInputStream()));
PrintWriter out=new PrintWriter(incoming.getOutputStream(),true/*autoFlush*/);
out.println("hello!Enter BYE to quit.");
boolean done=false;
while(!done)
{
String line=in.readLine();
if(line==null) done=true;
else
{
out.println("Echo :"+line);
if(line.trim().equals("BYE"))
done=true;
}
}
incoming.close();
}
catch(Exception e)
{
System.out.println("Error: "+e);
}
}
}
|
文件编译是否通过?命令上也看一看有无大小写或字母错误
另
classpath=.;
这里的一个点不要少了.
另
classpath=.;
这里的一个点不要少了.
|
1、运行路径没有错误
2、系统环境变量的classpath中需要有“.”来表示当前路径,这样才会在你的当前目录找你的class文件来运行的。
2、系统环境变量的classpath中需要有“.”来表示当前路径,这样才会在你的当前目录找你的class文件来运行的。
|
很明顯是classpath沒有設置好啦,一定要把編譯好的.class文件放在一classpath中。
|
用这个编译:
java -classpath EchoServer
java -classpath EchoServer
|
这个是因为你没有把myclass的路径设置为类的路径,
如果不设的话,你在运行时,要带上你执行类的全路径.
java这个命令在执行你的类,他会去找设置好的类路径有没有,如果没有的话
他当然是报没有发现你要执行类的错,所以要么你设一下类的路径,要么执行时指明路径
如果不设的话,你在运行时,要带上你执行类的全路径.
java这个命令在执行你的类,他会去找设置好的类路径有没有,如果没有的话
他当然是报没有发现你要执行类的错,所以要么你设一下类的路径,要么执行时指明路径
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。