0

我试图在 Java 上进入石器时代,并决定在不使用 IDE 的情况下运行程序。很快,我发现自己正在查看一个需要我导入外部 jar 文件的程序。我确实遇到了一些问题,但多亏了我忠实的伙伴(Stackoverflow.com),我克服了所有问题,Wham!执行了我的程序。

现在,突然间,这个问题打动了我的大脑。相同的代码也会在 windows xp 上运行吗(我真的不知道为什么会发生这种情况)。因此,通过信任我曾经的伙伴,我开始了旅程。以下是我所做工作的概述:

  1. VMware --->> XP ---->> JDK 最新下载 -->> 运行设置 --->>

    设置 Path = C/Programs/1.7/bin 和 CLASSPATH = "C:\Program Files (x86)\Java\jdk1.7.0\jre\lib\ext" (都设置为环境变量)-->>复制粘贴将外部 jar 文件放入 CLASSPATH 目录 -->> cmd -->> javac Myclass.java -->> 编译并在与我的 Java 文件相同的位置创建 .class 文件 --->> java Myclass -->>无法找到或加载主类 --->> java -cp 。Myclass -->> NoclassdefFoundError 。

现在让我感到困惑的是,我在 Windows 7 中使用相同的代码(相同的导入、jar 和所有内容)做了同样的事情,它确实进行了复制并给了输出,那么为什么它在 XP 中表现得像个混蛋?请帮忙。

代码很简单:

    import com.gesmallworld.core.acp.AcptAcp;

公共类 AcpE1 扩展 AcptAcp {

public static void main(String[] args) 
 {

        System.out.println("Hello World");
 }

}

PS:我尝试通过删除“extends AcptAcp”来编译代码,发现它会导致 xp 上的无错误输出。

4

1 回答 1

0

我不明白你为什么混淆。在 Windows XP 或 Windows 7 中,每个 java 程序都可以轻松运行,结果都是一样的。建议你学习 Java Packages 和 CLASSPATH 行为。阅读本文并在完成阅读本文后,您将解决您的问题。

于 2012-07-27T11:33:02.767 回答