当前位置: 技术问答>java相关
关于.class的问题
来源: 互联网 发布时间:2015-05-21
本文导语: 为什么java编译好的程序,通过浏览器的jvm可以浏览到结果,而在cmd底下却说 Exception in thread "main" java.lang.NoSuchMethodError: main 就拿最简单的例子说吧。 import java.applet .*; import java.awt.*; public class HelloWorld extends...
为什么java编译好的程序,通过浏览器的jvm可以浏览到结果,而在cmd底下却说
Exception in thread "main" java.lang.NoSuchMethodError: main
就拿最简单的例子说吧。
import java.applet .*;
import java.awt.*;
public class HelloWorld extends Applet
{
public void paint(Graphics g)
{
g.drawString ("你好,Java世界!",20,20);
}
}
我的文件名也取为HelloWorld.java了。。。
还有,我使用的是edit plus...每次修改了.java文件里的程序,生成新的.class。但是浏览器观察的效果并没有改变。。。除非把浏览器关闭。这是为什么?是内存驻留么?
Exception in thread "main" java.lang.NoSuchMethodError: main
就拿最简单的例子说吧。
import java.applet .*;
import java.awt.*;
public class HelloWorld extends Applet
{
public void paint(Graphics g)
{
g.drawString ("你好,Java世界!",20,20);
}
}
我的文件名也取为HelloWorld.java了。。。
还有,我使用的是edit plus...每次修改了.java文件里的程序,生成新的.class。但是浏览器观察的效果并没有改变。。。除非把浏览器关闭。这是为什么?是内存驻留么?
|
你不会是用的java HelloWorld这样执行的吧?
APPLET用CMD来调试应该用appletviewer
你这样吧,修改文件为
/*
*
*
*/
import java.applet .*;
import java.awt.*;
public class HelloWorld extends Applet
{
public void paint(Graphics g)
{
g.drawString ("你好,Java世界!",20,20);
}
}
一定把前面的注释添加上,保存后重新编译,将原文件和CLASS文件拷贝到C:JDKBIN
在CMD下:c:jdkbinappletviewer HelloWorld.java
其实这样也可以解决你说的浏览器缓存的问题,这样做可以保证修改原代码后
立即更新成修改后的效果
APPLET用CMD来调试应该用appletviewer
你这样吧,修改文件为
/*
*
*
*/
import java.applet .*;
import java.awt.*;
public class HelloWorld extends Applet
{
public void paint(Graphics g)
{
g.drawString ("你好,Java世界!",20,20);
}
}
一定把前面的注释添加上,保存后重新编译,将原文件和CLASS文件拷贝到C:JDKBIN
在CMD下:c:jdkbinappletviewer HelloWorld.java
其实这样也可以解决你说的浏览器缓存的问题,这样做可以保证修改原代码后
立即更新成修改后的效果
|
首先,命令行依据的ClassPath和浏览器的处理机制不同
其次,也许浏览器的缓存机制导致它不能正确重载Applet
其次,也许浏览器的缓存机制导致它不能正确重载Applet