@简单网络编程(抄例题),编译成功,为什么不能运行?
例题是用JCreator编写并编译都再用cmd动行,我也能编译通过,可运行时就出错,大吓们给解释一下呀,是不是我平台有什么问题呀。。
#
import java.net.*;
public class UdpSend 
{


public static void main(String[] args) throws Exception
{
// TODO: 在这添加你的代码
DatagramSocket ds=new DatagramSocket();
String strInfo="Hello Ghosthuo!";
ds.send(new DatagramPacket(strInfo.getBytes(),strInfo.length(),
InetAddress.getByName("192.168.1.2"),3000));
ds.close();
}
}===================================================
import java.net.*;
public class UdpRecv 
{
public static void main(String[] args) throws Exception 
{
// TODO: 在这添加你的代码
DatagramSocket ds=new DatagramSocket(3000);
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,1024);
ds.receive(dp);
System.out.println(new String (dp.getData(),0,dp.getLength())+"  from:"+
dp.getAddress().getHostAddress()+":"+dp.getPort());
ds.close();

}
}=============================================================
cmd中错误信息为:C:\Program Files\JCreatorV3\MyProjects\Udp>java UdpSend
Exception in thread "main" java.lang.UnsupportedClassVersionError: UdpSend (Unsu
pported major.minor version 49.0)
        at java.lang.ClassLoader.defineClass0(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$100(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)
===============================================================
JCreator中错误信息为:
正在初始化 jdb...
> 正在延迟 断点 UdpRecv.main(java/lang/String[])。
将在装入类之后对其进行设置。
> 运行 UdpRecv
设置 未捕捉到 java.lang.Throwable
设置延迟的 未捕捉到 java.lang.Throwable

VM 已启动: 设置延迟的 断点 UdpRecv.main(java/lang/String[])断点命中: "thread=main", UdpRecv.main(), line=9 bci=0
9               DatagramSocket ds=new DatagramSocket(3000);main[1] #

解决方案 »

  1.   

    呵呵,又是49错误啊,那是你的Java环境问题,你的编译环境和运行环境不是同一JDK版本,确定你的JCreator配置的Java环境和JAVA_HOME配置的环境是同一个版本的JDK
      

  2.   

    哦,原来是这样呀, 可我JCreator配置不怎么知道呀, 我先看看呀,,,
    ha!~~~~~~~有希望了,,,,
      

  3.   

    JCreator配置的Java环境是不是从
    (配置/选项/JDK配置文件/所选JDK配置文件的默认classpath:C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar;C:\Program Files\Java\jdk1.5.0_06\lib\dt.jar;C:\Program Files\Java\jdk1.5.0_06\lib\tools.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\ext\sunpkcs11.jar)
    JAVA_HOME配置的环境是不是(我的电脑/属性/高级/环境变量/classpath 和path 呀,,我把两个里面都加上了C:\Program Files\Java\jdk1.5.0_06lib;C:\ProgramFiles\Java\jdk1.5.0_04\bin    可是还不成呀,,,