1

我是Java的初学者。最近我在 Mac 中使用 Eclipse 构建了一个项目,该项目在工作区的 bin 文件夹中的 .class 下输出:

  • 主类
  • 面窗类
  • PaintPanel.class ...

当我双击 Mac PC 的 bin 中的 Main.Class 文件时,我可以执行 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?

4

2 回答 2

3

您不需要指定 Java 应用程序的扩展名,即 remove .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
于 2013-04-01T11:58:17.520 回答
0

Java默认情况下,命令不包括当前目录classpath。请按照以下步骤操作

  1. 打开命令提示符
  2. 转到编译所有类的目录
  3. 像这样执行java命令java -cp . Main

    我可以看到目录中有三个类(Main.class MianWindow.class PaintPanel.class),您必须将该目录设置为classpath

于 2013-04-01T12:19:26.267 回答