当前位置: 技术问答>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)下找所需的文件。
有人遇到这种情况吗?是我机器的问题,还是什么配置的问题,还是什么?有谁可以告诉我????
文件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.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。