0

我只是想编译和运行一个非常简单的测试程序,但它根本不起作用,我不知道问题是什么。

我有一个 java 项目一直堆在我身上,我对 java 知之甚少。特别是从 Windows 命令行编译。

我有两个罐子,我需要用它们来编译一个简单的“hello world”程序。

这是我的“build.bat”

C:\jdk1.6.0_21\bin\javac -cp "C:\Users\FREYERA\Desktop\Test";"C:\Users\FREYERA\Desktop\Test\test1.jar";"C:\Users\FREYERA\Desktop\Test\test2.jar"; "C:\Users\FREYERA\Desktop\Test\sample.java"

然后我:

C:\jdk1.6.0_21\bin\java sample

这会吐出错误:

线程“主”java.lang.NoClassDefFoundError 中的异常:示例原因:java.lang.ClassNotFoundException:java.net.URLClassLoader$1.run(URLClassLoader.java:202) 处的示例 java.security.AccessController.doPrivileged(Native Method在 java.net.URLClassLoader.findClass(URLClassLoader.java:190 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java: 在 java.lang.ClassLoader .loadClass(ClassLoader.java:248)

无论我如何设置我的类路径,我都无法让这个 HELLO WORLD 程序运行。

有人可以帮我吗?我正在拔头发。

4

3 回答 3

1

从包含类的目录中运行程序:

C:\Users\FREYERA\Desktop\Test\>java sample

CLASSPATH(通常)包括当前目录。

如果当前目录中有“sample.class”,并且还需要 test1.jar 和 test2.jar 中的类,则应该可以:

java -cp "test1.jar;test2.jar;." sample

于 2010-07-27T17:50:08.710 回答
1

您还可以为解释器指定类路径以定位您的类:

java -classpath "C:\Users\FREYERA\Desktop\Test";"C:\Users\FREYERA\Desktop\Test\test1.jar";"C:\Users\FREYERA\Desktop\Test\test2.jar"; Sample

这将从任何工作目录运行您的课程。

于 2010-07-27T17:56:24.570 回答
0

运行此命令后

C:\jdk1.6.0_21\bin\javac -cp "C:\Users\FREYERA\Desktop\Test";"C:\Users\FREYERA\Desktop\Test\test1.jar";"C:\Users\FREYERA \桌面\测试\test2.jar"; "C:\Users\FREYERA\Desktop\Test\sample.java"

它会在“C:\Users\FREYERA\Desktop\Test\”这个位置创建一个 .class 文件。即sample.class

您需要转到此文件夹位置并运行您的 java 命令来执行程序。确保设置了“JAVA_HOME”环境变量。

或者您可以将 sample.class 文件复制到“C:\jdk1.6.0_21\bin\”文件夹并运行命令。

于 2010-07-27T17:57:32.510 回答