当前位置:  技术问答>java相关

困扰已久的怪问题!up有分!

    来源: 互联网  发布时间:2017-04-13

    本文导语:  两个很简单的程序(王森老师的《Java手机程式设计入门》的第一个例子程序 文件A.java: public class A { public static void main(String[] args) { B b1=new B() ; b1.print() ; } } 文件B.java public class B { public void print() { System.out.p...

两个很简单的程序(王森老师的《Java手机程式设计入门》的第一个例子程序
文件A.java:
public class A
{
public static void main(String[] args)
{
B b1=new B() ;
b1.print() ;
}
}
文件B.java
public class B
{
public void print()
{
System.out.println("package test") ;
}
}

文件A.java和B.java同在E:Javawangsen目录下,JDK装在D:JavaProgramjdk1.3.1_06
目录下。设置路径path = D:JavaProgramjdk1.3.1_06bin
在E:Javawangsen下运行javac A.java,提示:

A.java:6: cannot resolve symbol
symbol  : class B
location: class A
B b1=new B() ;
^
A.java:6: cannot resolve symbol
symbol  : class B
location: class A
B b1=new B() ;
        ^
2 errors

即无法在A类里面找到B类。
把A.java和B.java都拷到D:JavaProgramjdk1.3.1_06bin,在D:JavaProgramjdk1.3.1_06bin目录下运行javac A.java,编译成功,运行java A,运行成功。返回E:Javawangsen,再运行javac A.java,成功,java A,也成功了。
把D:JavaProgramjdk1.3.1_06bin目录下新增加的文件(A.java、B.java、A.class、B.class)都剪切到桌面,重新回到E:Javawangsen目录,运行javac A.java,编译不过去,找不到B类,又出现前面的提示。
再把桌面上的B.class拷到D:JavaProgramjdk1.3.1_06bin,在E:Javawangsen目录下运行javac A.class,编译成功,执行java A,运行错误,提示Exception in thread "main" java.lang.NoClassDefFoundError: A。

感觉好像在E:Javawangsen下运行java或javac命令,都跑到D:JavaProgramjdk1.3.1_06bin下去找所需的文件了,java或javac命令根本就不在当前位置(E:Javawangsen)下找所需的文件。

有人遇到这种情况吗?是我机器的问题,还是什么配置的问题,还是什么?有谁可以告诉我???? 


|
那要看你的Classpath如何设置的了,将当前路径添加进去,就是在classpath中添加"."

|
其实就是classpath的问题,呵呵,up

|
http://expert.csdn.net/Expert/topic/1176/1176653.xml?temp=.2906916
挺详细的

|
java.lang.NoClassDefFoundError一般就是classpath的设置问题

|
classpath的作用就是当前文件有import出现时,通过classpath可以找到所引入的类文件

|
up

|
gz,up

|
楼主英名!

|
up~~:)

|
:)

|
up

|
up

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3