我是Java的初学者,正在学习普林斯顿大学提供的《算法》课程。在课程中,教授要求我们将algs4.jar下载到一个文件夹中并将其添加到类路径[1]。
我按照步骤进行操作,并尝试编写类似于HelloWorld的程序。
import edu.princeton.cs.algs4.StdOut;
public class HelloWorld {
public static void main(String args[]) {
StdOut.print("Hello World!");
}
}
然而,当我编译文件时,控制台提醒我说:
NPP_EXEC: "java_Compile_Run"
NPP_SAVE: G:\java\helloworld\HelloWorld.java
javac -encoding UTF-8 "G:\java\helloworld\HelloWorld.java"
Process started >>>
<<< Process finished. (Exit code 0)
==========编译成功后开始运行==========
java -cp "G:\java\helloworld" "HelloWorld"
Process started >>>
Exception in thread "main" java.lang.NoClassDefFoundError:
edu/princeton/cs/algs4/StdOut
at HelloWorld.main(HelloWorld.java:5)
Caused by: java.lang.ClassNotFoundException: edu.princeton.cs.algs4.StdOut
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
<<< Process finished. (Exit code 1)
================ READY ================
我已经检查了我的类路径和编程文件。这个错误是什么意思?我该如何修复它?
任何建议都很有帮助。谢谢。
[1] http://algs4.cs.princeton.edu/code/
java -cp "G:\java\helloworld" "HelloWorld"
- 无论你如何到达那里,你都需要添加应该在类路径上的 jar 文件以及目录。除了 javac 之外,你没有提到任何开发工具或其他使用的东西 - 如果你的问题是不知道如何配置你的 IDE,你应该说明你正在使用哪个 IDE。 - Olaf Kockjava -cp "$(CURRENT_DIRECTORY);G:/whereever/algs4j.jar" "$(NAME_PART)"
很接近了,我会把放置jar的位置留给你去完成。 - Olaf Kock