当前位置: 技术问答>java相关
嘿,真够菜的。
来源: 互联网 发布时间:2015-03-11
本文导语: 小弟刚学java,第一个程序就出错,请大侠们诊断,以下是源代码 import java.awt.*; public class HelloWorldWin { private Frame myFrame = null; private Label myLabel = null; public void HelloWorldWin() { CreateFrame(...
小弟刚学java,第一个程序就出错,请大侠们诊断,以下是源代码
import java.awt.*;
public class HelloWorldWin
{
private Frame myFrame = null;
private Label myLabel = null;
public void HelloWorldWin()
{
CreateFrame();
}
private Frame CreateFrame()
{
myFrame = new Frame();
myFrame.setName("Frame");
myFrame.setTitle("Hello World");
myFrame.setBackground(SystemColor.desktop);
myFrame.setFont(new Font("dialog", 0, 12));
myFrame.setBounds(100, 100, 300, 400);
myFrame.setLayout(null);
myFrame.add(getLabel());
myFrame.show();
return myFrame;
}
private Label getLabel()
{
if (myLabel == null)
{
myLabel = new Label();
myLabel.setName("Label");
myLabel.setFont(new Font("sansserif", 3, 16));
myLabel.setAlignment(Label.CENTER);
myLabel.setText("Hello World");
myLabel.setBounds(10, 10, 20, 20);
myLabel.setForeground(SystemColor.info);
}
return myLabel;
}
public static void main(String args[])
{
HelloWorldWin myHelloWorldWin = new HelloWorldWin();
}
}
出错信息为
Exception in thread "main" java.lang.NoClassDefFoundError
我用的是jdk1.4beta版
import java.awt.*;
public class HelloWorldWin
{
private Frame myFrame = null;
private Label myLabel = null;
public void HelloWorldWin()
{
CreateFrame();
}
private Frame CreateFrame()
{
myFrame = new Frame();
myFrame.setName("Frame");
myFrame.setTitle("Hello World");
myFrame.setBackground(SystemColor.desktop);
myFrame.setFont(new Font("dialog", 0, 12));
myFrame.setBounds(100, 100, 300, 400);
myFrame.setLayout(null);
myFrame.add(getLabel());
myFrame.show();
return myFrame;
}
private Label getLabel()
{
if (myLabel == null)
{
myLabel = new Label();
myLabel.setName("Label");
myLabel.setFont(new Font("sansserif", 3, 16));
myLabel.setAlignment(Label.CENTER);
myLabel.setText("Hello World");
myLabel.setBounds(10, 10, 20, 20);
myLabel.setForeground(SystemColor.info);
}
return myLabel;
}
public static void main(String args[])
{
HelloWorldWin myHelloWorldWin = new HelloWorldWin();
}
}
出错信息为
Exception in thread "main" java.lang.NoClassDefFoundError
我用的是jdk1.4beta版
|
classpath不对
use this in dos commandline: echo %classpath% 查看classpath
保证你的class再你直接指向的classpath路径下
use this in dos commandline: set classpath = "X:xxx;XX:XXXXX;" 设定classpath
回复人: 9p(飞龙在天) (2001-12-30 12:32:04) 得0分
把代码放到正确的CLASSPATH下,并设置CLASS
回复人: oldchief(不会) (2001-12-30 12:33:23) 得0分
程序本身没有问题,不是你的classpath设置问题就是你运行时带上来了.class
应该这样运行 java Welcome
回复人: xmvigour(微电) (2001-12-30 12:34:31) 得0分
把你的.class 在的目录设到ClassPath里。
在命令行打:Set CLASSPATH=%CLASSPATH%;目录路径
例如:Set CLASSPATH=%CLASSPATH%;C:windows
回复人: ahtu(阿土) (2001-12-30 12:35:53) 得0分
我安装好了jdk,在d:jdk我的classpath是d;jdk;d;jdkbin还不够吗
回复人: ahtu(阿土) (2001-12-30 12:37:56) 得0分
多谢大家,我装上了
回复人: xmvigour(微电) (2001-12-30 12:41:38) 得0分
java ?
可以看到java的命令参数的用法
回复人: AiNet(人工智能) (2001-12-30 12:43:53) 得0分
CALSSPATH类路径前要有 " ./ "
比如
./;D:jdk1.4libdt.jar.....
回复人: benediction(一颗神石) (2001-12-30 12:44:31) 得0分
环境变量没有设对,我也是个初学者,我在我的机子上试了一下,可以执行。我用的是jdk1.3.0_02.
看一下你的环境变量是否设对。比如:
你的Welcome.java放在c:java下,jdk1.2.2装在c:jdk1.2.2下,进入c:java
打命令:set path=c:jdk1.2.2bin,再用javac Welcome.java编译,应该不会出错。
回复人: linkguic(rake) (2001-12-30 12:46:23) 得0分
你的Welcome.java放在了哪个目录下了,
一定要放到你的classpath里有的目录下
回复人: AiNet(人工智能) (2001-12-30 12:49:46) 得0分
写错了,是
.;D:jdk1.4libdt.jar.....
不要 "/"
回复人: AiNet(人工智能) (2001-12-30 12:55:49) 得0分
加 "." 就是表明你当前要执行CALSS文件的目录,
这样你就可以在任何目录下执行了 :)
回复人: tpkj_fjw(靖仁) (2001-12-30 13:01:05) 得0分
我用的是win2000,如何在环境变量上的classpath中写入什么东西呢
.;c:jdk1.2.2libdt.jar;
c:jdk1.2.2libdt.jar;
c:jdk1.2.2libdt.jar;%CLASSPATH%;
我都尝试过了,还是不好用,是在前面,还是后面呢,有关系吗,里面还有很多其他的值
有影响吗,帮助帮助我
回复人: AiNet(人工智能) (2001-12-30 13:05:45) 得0分
只写dt.jar没有用,关键要有rt.jar
下面是我的(win2000):
CLASS_JDK = .;G:jdk1.4libdt.jar;G:jdk1.4libtools.jar;G:jdk1.4jrelibrt.jar
...
...
CLASS_J2EE = G:J2EE.......
CLASS_JDBC = ....
....
....
CLASSPATH=%CLASS_JDK%;%CLASS_J2EE%;%CLASS_JDBC%
回复人: AiNet(人工智能) (2001-12-30 13:08:49) 得0分
另外如果你是直接以command方式编译执行
可以用set命令看看你当前环境下的CLASSPATH是否正确
如果还不行,可能你的jdk或者系统有问题
回复人: tpkj_fjw(靖仁) (2001-12-30 13:28:11) 得0分
有可能是jdk的问题吗?
回复人: z_yheart(年轻的心) (2001-12-30 13:40:35) 得0分
http://www.csdn.net/Expert/topic/403/403222.shtm
回复人: tpkj_fjw(靖仁) (2001-12-30 14:11:01) 得0分
是不行,我打算用jbuilder吧,可是又不知道那东西如何运行,我上面举例的那类程序呢,该如何运行,如何新建,看到jbuilder不太会用,告诉我怎么运行jdk的javac,java的功能就可以了,例如:
public class Welcome
{
public static void main()
{
System.out.println("Exception");
}
}
在jbuilder中如何运行了,java今天把我弄迷糊了,我可是第一天学,迷糊迷糊,请各位帮助!
回复人: hanson_yi() (2001-12-30 14:45:20) 得0分
真历害,第一天就散这么多的分!
我也只好抢一点了。
这个问题是由于classpath 引起的。
1.首先在"控制面板"->"系统"->"高级"->"环境变量"->"系统变量"中找到path变量
编辑它加入你的JDKbin的路径,如:D:jdk1.3.1_01bin。一定要加在最左边。
2.在classpath变量的最左边加入"一个点和一个分号"如:原来是"D:jbuilder5jdk1.3lib...."
现在是".;D:jbuilder5jdk1.3lib"
3.重新启动
4.OK!!
回复人: wangtaoyy(嘉陵江) (2001-12-30 16:30:22) 得0分
>到你的Welcome.class所在目录,
>运行java -classpath . Welcome
回复人: xmvigour(微电) (2001-12-30 16:54:47) 得0分
java -classpath . Welcome
回复人: fuyingch(Intres) (2001-12-30 17:00:36) 得0分
对,有你的classpath引起的,好好检查
回复人: tpkj_fjw(靖仁) (2001-12-30 17:07:05) 得0分
win2000,在环境变量中classpath如何书写,谁能给我举一个例子,那里面应该不用
set 之类的吧
use this in dos commandline: echo %classpath% 查看classpath
保证你的class再你直接指向的classpath路径下
use this in dos commandline: set classpath = "X:xxx;XX:XXXXX;" 设定classpath
回复人: 9p(飞龙在天) (2001-12-30 12:32:04) 得0分
把代码放到正确的CLASSPATH下,并设置CLASS
回复人: oldchief(不会) (2001-12-30 12:33:23) 得0分
程序本身没有问题,不是你的classpath设置问题就是你运行时带上来了.class
应该这样运行 java Welcome
回复人: xmvigour(微电) (2001-12-30 12:34:31) 得0分
把你的.class 在的目录设到ClassPath里。
在命令行打:Set CLASSPATH=%CLASSPATH%;目录路径
例如:Set CLASSPATH=%CLASSPATH%;C:windows
回复人: ahtu(阿土) (2001-12-30 12:35:53) 得0分
我安装好了jdk,在d:jdk我的classpath是d;jdk;d;jdkbin还不够吗
回复人: ahtu(阿土) (2001-12-30 12:37:56) 得0分
多谢大家,我装上了
回复人: xmvigour(微电) (2001-12-30 12:41:38) 得0分
java ?
可以看到java的命令参数的用法
回复人: AiNet(人工智能) (2001-12-30 12:43:53) 得0分
CALSSPATH类路径前要有 " ./ "
比如
./;D:jdk1.4libdt.jar.....
回复人: benediction(一颗神石) (2001-12-30 12:44:31) 得0分
环境变量没有设对,我也是个初学者,我在我的机子上试了一下,可以执行。我用的是jdk1.3.0_02.
看一下你的环境变量是否设对。比如:
你的Welcome.java放在c:java下,jdk1.2.2装在c:jdk1.2.2下,进入c:java
打命令:set path=c:jdk1.2.2bin,再用javac Welcome.java编译,应该不会出错。
回复人: linkguic(rake) (2001-12-30 12:46:23) 得0分
你的Welcome.java放在了哪个目录下了,
一定要放到你的classpath里有的目录下
回复人: AiNet(人工智能) (2001-12-30 12:49:46) 得0分
写错了,是
.;D:jdk1.4libdt.jar.....
不要 "/"
回复人: AiNet(人工智能) (2001-12-30 12:55:49) 得0分
加 "." 就是表明你当前要执行CALSS文件的目录,
这样你就可以在任何目录下执行了 :)
回复人: tpkj_fjw(靖仁) (2001-12-30 13:01:05) 得0分
我用的是win2000,如何在环境变量上的classpath中写入什么东西呢
.;c:jdk1.2.2libdt.jar;
c:jdk1.2.2libdt.jar;
c:jdk1.2.2libdt.jar;%CLASSPATH%;
我都尝试过了,还是不好用,是在前面,还是后面呢,有关系吗,里面还有很多其他的值
有影响吗,帮助帮助我
回复人: AiNet(人工智能) (2001-12-30 13:05:45) 得0分
只写dt.jar没有用,关键要有rt.jar
下面是我的(win2000):
CLASS_JDK = .;G:jdk1.4libdt.jar;G:jdk1.4libtools.jar;G:jdk1.4jrelibrt.jar
...
...
CLASS_J2EE = G:J2EE.......
CLASS_JDBC = ....
....
....
CLASSPATH=%CLASS_JDK%;%CLASS_J2EE%;%CLASS_JDBC%
回复人: AiNet(人工智能) (2001-12-30 13:08:49) 得0分
另外如果你是直接以command方式编译执行
可以用set命令看看你当前环境下的CLASSPATH是否正确
如果还不行,可能你的jdk或者系统有问题
回复人: tpkj_fjw(靖仁) (2001-12-30 13:28:11) 得0分
有可能是jdk的问题吗?
回复人: z_yheart(年轻的心) (2001-12-30 13:40:35) 得0分
http://www.csdn.net/Expert/topic/403/403222.shtm
回复人: tpkj_fjw(靖仁) (2001-12-30 14:11:01) 得0分
是不行,我打算用jbuilder吧,可是又不知道那东西如何运行,我上面举例的那类程序呢,该如何运行,如何新建,看到jbuilder不太会用,告诉我怎么运行jdk的javac,java的功能就可以了,例如:
public class Welcome
{
public static void main()
{
System.out.println("Exception");
}
}
在jbuilder中如何运行了,java今天把我弄迷糊了,我可是第一天学,迷糊迷糊,请各位帮助!
回复人: hanson_yi() (2001-12-30 14:45:20) 得0分
真历害,第一天就散这么多的分!
我也只好抢一点了。
这个问题是由于classpath 引起的。
1.首先在"控制面板"->"系统"->"高级"->"环境变量"->"系统变量"中找到path变量
编辑它加入你的JDKbin的路径,如:D:jdk1.3.1_01bin。一定要加在最左边。
2.在classpath变量的最左边加入"一个点和一个分号"如:原来是"D:jbuilder5jdk1.3lib...."
现在是".;D:jbuilder5jdk1.3lib"
3.重新启动
4.OK!!
回复人: wangtaoyy(嘉陵江) (2001-12-30 16:30:22) 得0分
>到你的Welcome.class所在目录,
>运行java -classpath . Welcome
回复人: xmvigour(微电) (2001-12-30 16:54:47) 得0分
java -classpath . Welcome
回复人: fuyingch(Intres) (2001-12-30 17:00:36) 得0分
对,有你的classpath引起的,好好检查
回复人: tpkj_fjw(靖仁) (2001-12-30 17:07:05) 得0分
win2000,在环境变量中classpath如何书写,谁能给我举一个例子,那里面应该不用
set 之类的吧
|
http://www.csdn.net/Expert/topic/403/403222.shtm
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。