classpath已经配置,为何运行时还是出现cannot resolve symbol错误????等待中

时间:2022-09-04 10:23:48
我使用的是XP操作系统,
我的 classpath配置如下:
变量名:classpath 
变量值:.;f:\java\lib\dt.jar;f:\java\lib\tools.jar


我刚刚查了一些以前的帖子,,有些说变量值应该是f:\java\lib\dt.jar;f:\java\lib\tools.jar

也有些说象我那样配置,,

我想知道到底是哪种正确,,

31 个解决方案

#1


设了classpath
要用到什么类还得
import 进来

你的什么类cannot resolve....

#2


出现cannot resolve symbol并非一定由CLASSPATH的设置错误引起,方便的话请给出源码和cannot resolve symbol ....这句完整的提示,以便大家讨论

#3


.还是要有的,他会找到当前的class

#4


引用:  hellowcheng()   .还是要有的,他会找到当前的class

在CLASSPATH中加入代表当前目录的 . 当然是个好习惯,但是这并不是必须的。所以楼主提到的两种CLASSPATH设置都是可行的。只要你保证你使用的CLASS都能在CLASSPATH中找到就行了。

#5




出错提示为:(这是其中的一部分,)
kucun_guanli.java:31: cannot resolve symbol
symbol  : method Add (java.awt.Label)
location: class user
                Add(lbl_username);
                ^
kucun_guanli.java:33: cannot resolve symbol
symbol  : method add (java.awt.Label)
location: class user
                add(lbl_passworld);
                ^
kucun_guanli.java:35: cannot resolve symbol
symbol  : method add (java.awt.TextField)
location: class user
                add(txt_username);
                ^
kucun_guanli.java:37: cannot resolve symbol
symbol  : method add (java.awt.TextField)
location: class user
                add(txt_passworld);
                ^
kucun_guanli.java:39: cannot resolve symbol
symbol  : method add (java.awt.Button)
location: class user
                add(btn_login);
                ^
kucun_guanli.java:41: cannot resolve symbol
symbol  : method add (java.awt.Button)
location: class user
                add(btn_cancel);
                ^
kucun_guanli.java:44: cannot resolve symbol
symbol  : method addActionlistener (user)
location: class java.awt.Button
                btn_login.addActionlistener(this);
                         ^
kucun_guanli.java:46: cannot resolve symbol
symbol  : method addActinlistener (user)
location: class java.awt.Button
                btn_cancel.addActinlistener(this);

#6


能找到啊,,可是运行时还是会出错的,,

#7


能给出源码吗?

#8


我是初学者,,这是我第一次动手写程序,,所以写的很糟,,不要笑我啊!!

class user
{
public static void main (String [] arg)
    {
MainWindow userwindows=new MainWindows("用户登陆");

userwindows.SetVisible(true);

Label lbl_username=new Label("用户名");

    Label lbl_passworld=new Label("密码");

TextField txt_username=new TextField();

TextField txt_passworld=new TextField();

Button btn_login=new Button("确定");
 
Button btn_cancel=new Button("取消");
}

  
public void user()
{

txt_passworld.setEchoChar("*");

Add(lbl_username);

         add(lbl_passworld);

add(txt_username);

add(txt_passworld);

add(btn_login);

add(btn_cancel);

btn_login.addActionlistener(this);
        
btn_cancel.addActinlistener(this);
}
}

#9


sorry,公司关门了。等不及你贴源码了,明天再来看。

从上面的出错代码来看,问题并非出在CLASSPATH的设置上。而是调用到的方法名未能被正确解析。一个可能的原因是调用方法时传递的参数类型与方法定义不一致。

#10


晕,居然看到你的发的代码在我的回复前面,但是真的没时间了,明天再来看。

#11


class user是没有add方法的,
btn_login和btn_cancel在user方法里是不可见的。

#12


allof01(我行我素)
好的,,谢谢啦

#13


MainWindow在哪里申明的啊

帮你改了,看看出现多少错误吧,大小写,类和相应方法

import java.awt.*;
import java.awt.event.*;

class user extends Frame
implements ActionListener{

Button btn_login,btn_cancel;

public static void main (String [] arg)   {
user userwindows=new user("用户登陆");


userwindows.setVisible(true);

}

  
public  user(String s) {
super(s);

setLayout(new FlowLayout());

Label lbl_username=new Label("用户名");

    Label lbl_passworld=new Label("密码");

TextField txt_username=new TextField();

TextField txt_passworld=new TextField();

btn_login=new Button("确定");
 
btn_cancel=new Button("取消");


txt_passworld.setEchoChar('*');

add(lbl_username);

        add(lbl_passworld);

add(txt_username);

add(txt_passworld);

add(btn_login);

add(btn_cancel);

btn_login.addActionListener(this);
        
btn_cancel.addActionListener(this);

this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});

setSize(320,240);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==this.btn_login){
System.out.println ("you clicked login");
}

if(e.getSource()==this.btn_cancel){
System.out.println ("you clicked cancel");
}
}
}

#14


MainWindow是在另一个类库里的,,这个错误我知道,,

我刚刚学JAVA,,我是看一点,,尝试写一点,,
到现在为止,,书没看完,,所以 
kypfos(就当我没上过大学),,你改过以后的有好多地方我不是看的很明白呢,,,

呵呵呵!!!!抱歉抱歉

#15


顺便再问一下,我查看了一下以前关于“HelloWorld”问题的帖子,,要求必须配置classpath,,可是我一开始的时候,classpath并没有配置的,为什么“HelloWorld”照常运行,也出现“Hello World!”,,请问这是为什么?????
程序如下:
class  helloworld
{
public static void main(String[] args) 
{
System.out.println("Hello World!");
}
}

#16


因为你配置了java_home,就有了默认的classpath

#17


kypfos(就当我没上过大学):
java_home?????
何意,,
可以解释一下吗???

#18


环境变量啊,或者你安装jdk的时候同是也安装的jre
有jre也会在jre的目录里找相应的class

#19


我怎么知道我有没有安装jre啊
如果这样,,那classpath是不是就可以不用配置了呢???

#20


你不用学java了!没救!

#21


这是我学的第一门编程语言,,
而且也刚学没了几天,,
当然什么都不知道了,,

#22


抱歉问了一个非常非常~~~愚蠢的问题,,我已经知道了
jre是java runtime envionment -- java运行环境
我竟然连这些最基本的概念都没有能明白呢,,
不过问了这个愚蠢的问题以后,,我发现java我应该再从头学起了,,



#23


呵呵,想不到今天再来已经有这么多热心人在帮助你了。不过从上面来看,你的确不需要着急,先跟着教材来吧。一下子这么多可以在书上找到答案的问题,还真教人不知道该不该答。

#24


呵呵~~~我是一个满懒的人,,一般是能别人告诉我的,,我自己就不爱动手去找,,可是这一次,,我还是自己来好了,,实在找不到的再来大家,,

可能以后还会问有象今天这样蠢蠢的问题,,希望不笑我啊~~~~~~~~~~~呵呵

#25


因为问了很蠢的问题,害我都不好意思来看自己的帖子了,,

#26


楼主不要灰心
*教导我们,要
good good study,day day up

#27


坚持就是胜利!我支持你。
因为你学的是自己的第一种语言,难免有这么多的难处和问题。你看这么多人帮你,你还怕什么了。不要说“蠢”!

很多人学Java,都是有C语言和C++的编程基础,他们学Java是很快的。 而你这一类学习者不同,没基础当然学得慢了。

#28


谢谢大家的鼓励,,我一定会努力,努力,再努力的~~~~~~~~~~~~~~~~`

#29


^_^

#30


严重同意 yizdream(YIZ) :很多人学Java,都是有C语言和C++的编程基础,他们学Java是很快的。 而你这一类学习者不同,没基础当然学得慢了。

像我就是先学C,然后接触C++,然后因为工作关系才转学JAVA的。所以在学JAVA时基本上没遇到什么大的阻碍。现在回想以前学第一门语言FOXBASE(不知道算不算语言)时,也是愚蠢的问题泛滥成灾,也许总该有这样一个过程吧。相信过不久,你就可以自行解决大多数问题了。

坚持!

#31


谢谢大家,, 谢谢,,
关于程序的错误,是因为有一个javabook的类库未导入,
而我用了里面的一个类MainWindow,,
因为这个错误,,导致后面的全部错误,,

#1


设了classpath
要用到什么类还得
import 进来

你的什么类cannot resolve....

#2


出现cannot resolve symbol并非一定由CLASSPATH的设置错误引起,方便的话请给出源码和cannot resolve symbol ....这句完整的提示,以便大家讨论

#3


.还是要有的,他会找到当前的class

#4


引用:  hellowcheng()   .还是要有的,他会找到当前的class

在CLASSPATH中加入代表当前目录的 . 当然是个好习惯,但是这并不是必须的。所以楼主提到的两种CLASSPATH设置都是可行的。只要你保证你使用的CLASS都能在CLASSPATH中找到就行了。

#5




出错提示为:(这是其中的一部分,)
kucun_guanli.java:31: cannot resolve symbol
symbol  : method Add (java.awt.Label)
location: class user
                Add(lbl_username);
                ^
kucun_guanli.java:33: cannot resolve symbol
symbol  : method add (java.awt.Label)
location: class user
                add(lbl_passworld);
                ^
kucun_guanli.java:35: cannot resolve symbol
symbol  : method add (java.awt.TextField)
location: class user
                add(txt_username);
                ^
kucun_guanli.java:37: cannot resolve symbol
symbol  : method add (java.awt.TextField)
location: class user
                add(txt_passworld);
                ^
kucun_guanli.java:39: cannot resolve symbol
symbol  : method add (java.awt.Button)
location: class user
                add(btn_login);
                ^
kucun_guanli.java:41: cannot resolve symbol
symbol  : method add (java.awt.Button)
location: class user
                add(btn_cancel);
                ^
kucun_guanli.java:44: cannot resolve symbol
symbol  : method addActionlistener (user)
location: class java.awt.Button
                btn_login.addActionlistener(this);
                         ^
kucun_guanli.java:46: cannot resolve symbol
symbol  : method addActinlistener (user)
location: class java.awt.Button
                btn_cancel.addActinlistener(this);

#6


能找到啊,,可是运行时还是会出错的,,

#7


能给出源码吗?

#8


我是初学者,,这是我第一次动手写程序,,所以写的很糟,,不要笑我啊!!

class user
{
public static void main (String [] arg)
    {
MainWindow userwindows=new MainWindows("用户登陆");

userwindows.SetVisible(true);

Label lbl_username=new Label("用户名");

    Label lbl_passworld=new Label("密码");

TextField txt_username=new TextField();

TextField txt_passworld=new TextField();

Button btn_login=new Button("确定");
 
Button btn_cancel=new Button("取消");
}

  
public void user()
{

txt_passworld.setEchoChar("*");

Add(lbl_username);

         add(lbl_passworld);

add(txt_username);

add(txt_passworld);

add(btn_login);

add(btn_cancel);

btn_login.addActionlistener(this);
        
btn_cancel.addActinlistener(this);
}
}

#9


sorry,公司关门了。等不及你贴源码了,明天再来看。

从上面的出错代码来看,问题并非出在CLASSPATH的设置上。而是调用到的方法名未能被正确解析。一个可能的原因是调用方法时传递的参数类型与方法定义不一致。

#10


晕,居然看到你的发的代码在我的回复前面,但是真的没时间了,明天再来看。

#11


class user是没有add方法的,
btn_login和btn_cancel在user方法里是不可见的。

#12


allof01(我行我素)
好的,,谢谢啦

#13


MainWindow在哪里申明的啊

帮你改了,看看出现多少错误吧,大小写,类和相应方法

import java.awt.*;
import java.awt.event.*;

class user extends Frame
implements ActionListener{

Button btn_login,btn_cancel;

public static void main (String [] arg)   {
user userwindows=new user("用户登陆");


userwindows.setVisible(true);

}

  
public  user(String s) {
super(s);

setLayout(new FlowLayout());

Label lbl_username=new Label("用户名");

    Label lbl_passworld=new Label("密码");

TextField txt_username=new TextField();

TextField txt_passworld=new TextField();

btn_login=new Button("确定");
 
btn_cancel=new Button("取消");


txt_passworld.setEchoChar('*');

add(lbl_username);

        add(lbl_passworld);

add(txt_username);

add(txt_passworld);

add(btn_login);

add(btn_cancel);

btn_login.addActionListener(this);
        
btn_cancel.addActionListener(this);

this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});

setSize(320,240);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==this.btn_login){
System.out.println ("you clicked login");
}

if(e.getSource()==this.btn_cancel){
System.out.println ("you clicked cancel");
}
}
}

#14


MainWindow是在另一个类库里的,,这个错误我知道,,

我刚刚学JAVA,,我是看一点,,尝试写一点,,
到现在为止,,书没看完,,所以 
kypfos(就当我没上过大学),,你改过以后的有好多地方我不是看的很明白呢,,,

呵呵呵!!!!抱歉抱歉

#15


顺便再问一下,我查看了一下以前关于“HelloWorld”问题的帖子,,要求必须配置classpath,,可是我一开始的时候,classpath并没有配置的,为什么“HelloWorld”照常运行,也出现“Hello World!”,,请问这是为什么?????
程序如下:
class  helloworld
{
public static void main(String[] args) 
{
System.out.println("Hello World!");
}
}

#16


因为你配置了java_home,就有了默认的classpath

#17


kypfos(就当我没上过大学):
java_home?????
何意,,
可以解释一下吗???

#18


环境变量啊,或者你安装jdk的时候同是也安装的jre
有jre也会在jre的目录里找相应的class

#19


我怎么知道我有没有安装jre啊
如果这样,,那classpath是不是就可以不用配置了呢???

#20


你不用学java了!没救!

#21


这是我学的第一门编程语言,,
而且也刚学没了几天,,
当然什么都不知道了,,

#22


抱歉问了一个非常非常~~~愚蠢的问题,,我已经知道了
jre是java runtime envionment -- java运行环境
我竟然连这些最基本的概念都没有能明白呢,,
不过问了这个愚蠢的问题以后,,我发现java我应该再从头学起了,,



#23


呵呵,想不到今天再来已经有这么多热心人在帮助你了。不过从上面来看,你的确不需要着急,先跟着教材来吧。一下子这么多可以在书上找到答案的问题,还真教人不知道该不该答。

#24


呵呵~~~我是一个满懒的人,,一般是能别人告诉我的,,我自己就不爱动手去找,,可是这一次,,我还是自己来好了,,实在找不到的再来大家,,

可能以后还会问有象今天这样蠢蠢的问题,,希望不笑我啊~~~~~~~~~~~呵呵

#25


因为问了很蠢的问题,害我都不好意思来看自己的帖子了,,

#26


楼主不要灰心
*教导我们,要
good good study,day day up

#27


坚持就是胜利!我支持你。
因为你学的是自己的第一种语言,难免有这么多的难处和问题。你看这么多人帮你,你还怕什么了。不要说“蠢”!

很多人学Java,都是有C语言和C++的编程基础,他们学Java是很快的。 而你这一类学习者不同,没基础当然学得慢了。

#28


谢谢大家的鼓励,,我一定会努力,努力,再努力的~~~~~~~~~~~~~~~~`

#29


^_^

#30


严重同意 yizdream(YIZ) :很多人学Java,都是有C语言和C++的编程基础,他们学Java是很快的。 而你这一类学习者不同,没基础当然学得慢了。

像我就是先学C,然后接触C++,然后因为工作关系才转学JAVA的。所以在学JAVA时基本上没遇到什么大的阻碍。现在回想以前学第一门语言FOXBASE(不知道算不算语言)时,也是愚蠢的问题泛滥成灾,也许总该有这样一个过程吧。相信过不久,你就可以自行解决大多数问题了。

坚持!

#31


谢谢大家,, 谢谢,,
关于程序的错误,是因为有一个javabook的类库未导入,
而我用了里面的一个类MainWindow,,
因为这个错误,,导致后面的全部错误,,