在public class Example12_2中加上: public static void main(String[] args){ //函数体 }
这是运行时错吧?不一定要MAIN才编译的啊
这是小程序,不是应用程序,我编译的也是Example12_2.java,但编译时出现Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main错误,不知是什么原因,我想是不是环境设置有问题啊?
applet编译没问题吧,运行用appletviewer运行
我现在的环境设置如下: set path=C:\j2sdk1.4.2_04\bin;C:\j2sdk1.4.2_04\jre\bin set classpath=.;C:\j2sdk1.4.2_04\lib;C:\j2sdk1.4.2_04\jre\lib;C:\j2sdk1.4.2_04\jre\lib\rt.jar 可还是不行,还是出现了如下提示: Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main 请各位高手帮忙解决这个问题,谢谢!!!
而且在windows下输入javac时,能正常显示其javac的一些命令介绍。我的程序放在d:\java里的,一进入这个目录后,只输入javac这个命令,就出现“Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main“提示,这是什么原因呢?
public static void main(String[] args){
//函数体
}
set path=C:\j2sdk1.4.2_04\bin;C:\j2sdk1.4.2_04\jre\bin
set classpath=.;C:\j2sdk1.4.2_04\lib;C:\j2sdk1.4.2_04\jre\lib;C:\j2sdk1.4.2_04\jre\lib\rt.jar
可还是不行,还是出现了如下提示:
Exception in thread "main" java.lang.NoClassDefFoundError:com/sun/tools/javac/Main
请各位高手帮忙解决这个问题,谢谢!!!
我的环境变量是:classpath=.;C:\j2sdk1.4.2\lib\dt.jar;C:\j2sdk1.4.2\lib\tools.jar;
import java.awt.*;
import java.awt.event.*;
class Mycanvas extends Canvas
{
int x,y;
Mycanvas(int a,int b) {
x=a;
y=b;
getSize();
}
public void paint(Graphics g)
{
g.setColor(Color.red);
g.fillOval(50,50,4*x,4*y);
g.drawString("气球已吹第"+x+"口气",20,350); }
public Dimension getPreferredSize() {
return new Dimension(200,100); }
}
public class Example12_2 extends Applet implements ActionListener{
CardLayout mycard;
Button button1,button2,button3;
Mycanvas mycanvas[];
Panel p;
Panel p2;
public void init()
{
setLayout(new BorderLayout());
mycard=new CardLayout();
p=new Panel(); p2=new Panel(); p.setLayout(mycard); button1=new Button("吹第一口气"); button2=new Button("再吹"); button3=new Button("吹最后一口气"); mycanvas=new Mycanvas[81]; for (int i=1;i<=80;i++) { mycanvas[i]=new Mycanvas(i,i); p.add("I am"+i,mycanvas[i]); } button1.addActionListener(this); button2.addActionListener(this); button3.addActionListener(this); p2.add(button1); p2.add(button2); p2.add(button3); add(p,"Center"); add(p2,"South"); } public void actionPerformed(ActionEvent e) { if(e.getSource()==button1) { mycard.first(p); } else if(e.getSource()==button2) { mycard.next(p); } else if(e.getSource()==button3) { mycard.last(p); } }} Example12_2.html 内容为:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>
HTML Test Page
</title>
</head>
<body>
Example12_2 will appear below in a Java enabled browser.<br>
<applet
codebase = "."
code = "Example12_2.class"
name = "TestApplet"
width = "400"
height = "300"
hspace = "0"
vspace = "0"
align = "middle"
>
</applet>
</body>
</html> 把它们放在c:\下, javac Example12_2.java 编译正常。
然后 appletviewer Example12_2.html即可出现需要结果。 怀疑这个错误有三种可能:
1.jdk没有装好;
2.环境变量设置;
3.Exampel12_2同目录下的其他文件的错误.
CLASSPATH有问题:
classpath=.;C:\j2sdk1.4.2\lib\dt.jar;C:\j2sdk1.4.2\lib\tools.jar;
编译的时候是没有错误的!!
你说的那个错误在运行的时候才出现。
但是这是个Applet,你是不能像普通的类一样运行它的!!
必须编译后在AppletViewer或浏览器中运行它。
AppletViewer是jdk自带的测试Applet的工具,你用它试试。
你的是个Applet需要在浏览器里执行的