很简单的问题,解决完,立即结贴!

时间:2022-01-15 19:05:21
package frame;
import java.awt.*;
public class TestFrame{
public TestFrame(){
}
public static void main (String args[]){
Frame f = new Frame();
f.setTitle("Test");
f.setSize(400,400);
f.show();
}
}
报错:
Exception in thread "main" java.lang.NoClassDefFoundError: TestFrame (wro
: frame/TestFrame)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.
3)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)

14 个解决方案

#1


up!

#2


03   public class TestFrame{
04         public TestFrame(){

搂猪解释哈。有问题的。
把04删除呢?

#3


程序没有任何问题,看看你的环境变量classpath,重新设置一下,把你生成的TestFrame.class包含进去就可以了

#4


to:ddbean(丁大伯) && ddbean(丁大伯) 
平时编译java的程序没有问题呀?
为什么要生成的TestFrame.class包含进去?
怎么设置?

#5


编译你当前的类咯!
TRY 也许就OK了!因为在编译路径中找不到你的类TestFrame ;
2楼兄弟.为什么要删除04,,我晕.........

#6


你是
java frame.TestFrame
执行的吗?
产生了frame目录吗?
如果有在与frame平行的目录上执行

不然就要加上classpath "."

#7


配置好你的Classpath和path
javac package.TestFrame.java
java package/TestFrame

#8


javac TestFrame.java
可以通过,已经生成class文件了
然后java frame出错,错误类型我已经贴出来了!
不明白为什么加上classpath "."?
楼上的 kypfos(就当我没上过大学) ( ) 能告诉我吗?
下面我该怎么做才能通过编译?

#9


我刚才写错了应该是:
javac TestFrame.java
可以通过,已经生成class文件了
然后java TestFrame出错,错误类型我已经贴出来了!
不明白为什么加上classpath "."?
楼上的 kypfos(就当我没上过大学) ( ) 能告诉我吗?
下面我该怎么做才能通过编译?

#10


1 javac -d . TestFrame.java
2 java -classpath ./;%classpath% TestFrame

#11


classpath中设置的"."表示当前目录!
我按照你写的程序执行了一次,成功呀!代码没问题!(不过要考虑释放窗口的问题!)
set Java_path=c:\jsdk1.4.0
set path=%path%;%Java_path%\bin
set classpath=.;%java_path%\lib;(java首先搜索当前目录然后再搜索java的lib目录)

javac TestFrame.java(注意大小写,例如程序在d:\lesson\frame下)
java frame.TestFrame(执行程序的目录应在d:\lesson下)

#12


确实没问题

#13


我想知道编译完成之后,为什么不象其它的类一样生成xxx.class的格式,这个程序编译完之后生成frame的文件夹,里面存放TestFrame.class这个文件。
我按照:javac TestFrame.java
        java frame.TestFrame
运行,就可以了。
当然我现在也知道它是按照路径去编译程序的。关键为什么不像以前我写的的程序一样,
不需要生成一个文件夹呀?

还有,
我是初学java,以后想往j2ee上发展,我目前在做简单的java的程序编程。
是看书和做程序一起进行的。
但是感觉进步不是很大,而且以我现在的水平,看think in java有点困难。我只能理解一些比较简单的概念。在写程序过程中也有一点点对书算是比较深刻的理解吧?
说实话,我觉得进步不是很大。毕竟我不能离开书去做开发一些java程序。

也许我是有点着急,但是我觉得这时候应该需要一些高手,给我一些建议。
我肯定另外开贴,散分谢谢你们的!
我以前是做asp,vb程序的,上学的时候学过vc++和C,毕业之后没有做过这方面的东西,忘的差不多了。
对于jsp我还是能够写一些简单的程序的,直接连库也没有问题,参照书上写一些很简单的javaBean也没有问题(只限于简单的,稍难的我想我肯定不会写了),对于servlet,我基本上一个程序没有写过。ejb更是没有涉猎,现在每天都是集中全力学习写java的程序,因为我知道不管是jsp,serlet,ejb都是在java的语言基础上。
相信和大多数刚刚开始学习java的程序员一样,我现在处于迷茫状态,还请高手们指点一二。
先谢谢各位了!
当然强调一点:我肯定另外开贴,散分谢谢你们的!

#14


你的程序可以正常运行


可能是环境变量的配置问题吧

至于怎么配置
上面几家已经都说了

#1


up!

#2


03   public class TestFrame{
04         public TestFrame(){

搂猪解释哈。有问题的。
把04删除呢?

#3


程序没有任何问题,看看你的环境变量classpath,重新设置一下,把你生成的TestFrame.class包含进去就可以了

#4


to:ddbean(丁大伯) && ddbean(丁大伯) 
平时编译java的程序没有问题呀?
为什么要生成的TestFrame.class包含进去?
怎么设置?

#5


编译你当前的类咯!
TRY 也许就OK了!因为在编译路径中找不到你的类TestFrame ;
2楼兄弟.为什么要删除04,,我晕.........

#6


你是
java frame.TestFrame
执行的吗?
产生了frame目录吗?
如果有在与frame平行的目录上执行

不然就要加上classpath "."

#7


配置好你的Classpath和path
javac package.TestFrame.java
java package/TestFrame

#8


javac TestFrame.java
可以通过,已经生成class文件了
然后java frame出错,错误类型我已经贴出来了!
不明白为什么加上classpath "."?
楼上的 kypfos(就当我没上过大学) ( ) 能告诉我吗?
下面我该怎么做才能通过编译?

#9


我刚才写错了应该是:
javac TestFrame.java
可以通过,已经生成class文件了
然后java TestFrame出错,错误类型我已经贴出来了!
不明白为什么加上classpath "."?
楼上的 kypfos(就当我没上过大学) ( ) 能告诉我吗?
下面我该怎么做才能通过编译?

#10


1 javac -d . TestFrame.java
2 java -classpath ./;%classpath% TestFrame

#11


classpath中设置的"."表示当前目录!
我按照你写的程序执行了一次,成功呀!代码没问题!(不过要考虑释放窗口的问题!)
set Java_path=c:\jsdk1.4.0
set path=%path%;%Java_path%\bin
set classpath=.;%java_path%\lib;(java首先搜索当前目录然后再搜索java的lib目录)

javac TestFrame.java(注意大小写,例如程序在d:\lesson\frame下)
java frame.TestFrame(执行程序的目录应在d:\lesson下)

#12


确实没问题

#13


我想知道编译完成之后,为什么不象其它的类一样生成xxx.class的格式,这个程序编译完之后生成frame的文件夹,里面存放TestFrame.class这个文件。
我按照:javac TestFrame.java
        java frame.TestFrame
运行,就可以了。
当然我现在也知道它是按照路径去编译程序的。关键为什么不像以前我写的的程序一样,
不需要生成一个文件夹呀?

还有,
我是初学java,以后想往j2ee上发展,我目前在做简单的java的程序编程。
是看书和做程序一起进行的。
但是感觉进步不是很大,而且以我现在的水平,看think in java有点困难。我只能理解一些比较简单的概念。在写程序过程中也有一点点对书算是比较深刻的理解吧?
说实话,我觉得进步不是很大。毕竟我不能离开书去做开发一些java程序。

也许我是有点着急,但是我觉得这时候应该需要一些高手,给我一些建议。
我肯定另外开贴,散分谢谢你们的!
我以前是做asp,vb程序的,上学的时候学过vc++和C,毕业之后没有做过这方面的东西,忘的差不多了。
对于jsp我还是能够写一些简单的程序的,直接连库也没有问题,参照书上写一些很简单的javaBean也没有问题(只限于简单的,稍难的我想我肯定不会写了),对于servlet,我基本上一个程序没有写过。ejb更是没有涉猎,现在每天都是集中全力学习写java的程序,因为我知道不管是jsp,serlet,ejb都是在java的语言基础上。
相信和大多数刚刚开始学习java的程序员一样,我现在处于迷茫状态,还请高手们指点一二。
先谢谢各位了!
当然强调一点:我肯定另外开贴,散分谢谢你们的!

#14


你的程序可以正常运行


可能是环境变量的配置问题吧

至于怎么配置
上面几家已经都说了