我是Java的初学者。 最近我在Mac中使用Eclipse来构build一个项目,该项目在工作区的bin文件夹下面输出.class:
当我双击Mac PC的bin中的Main.Class文件时,我可以exexute JFrame appl'n。
但是,当我将bin文件夹中的所有内容复制到Window PC并试图在命令下运行时,它只是无法执行它:
命令提示符使用:
C:\Program Files\Java\jre6\bin>java c:\temp\bin\Main.class
错误消息:
Exeception in thread "main" java.land.NoClassDefFindError: c:\temp\bin\Main/class ... Could not find the main class...Program will exit.
执行程序时我错过了什么步骤?
还有一个关于Java Applet的问题,如果我允许一个新客户端的PC运行一个Java Applet,那么每当有一个新的客户端时,我必须在客户端PC上编译java项目才能运行Applet。
您不需要指定Java应用程序的扩展,即删除.class
。
试试这个: java c:\temp\bin\Main
另外,如果你已经打包了你的java文件,那么它将不得不先在包中运行。 举个例子,如果你已经宣布你的课程为
package com.my.app; public class Main{ }
那么你将不得不将类文件移动到com/my/app
文件夹,然后运行
java c:\temp\bin\com.my.app.Main
Java
命令默认情况下不包括classpath
的当前目录。 按照下面的步骤
像java -cp . Main
一样执行java命令java -cp . Main
java -cp . Main
我可以看到在目录中有三个类( Main.class
MianWindow.class
PaintPanel.class
),您必须将该目录设置为classpath