我是java的初学者,参加普林斯顿大学提供的算法算法.在课程中,教授要求我们将algs4.jar下载到一个文件夹中,并将algs4.jar添加到类路径中.[1]
我一步一步地跟着它,尝试编程HelloWorld之类的
import edu.princeton.cs.algs4.StdOut;
public class HelloWorld {
public static void main(String args[]) {
StdOut.print("Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我编译文件时,控制台提醒我
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 ================
Run Code Online (Sandbox Code Playgroud)
我检查了我的类路径和我的编程文件.这个错误是什么意思?我该如何解决?
任何建议都有帮助.谢谢.
如果您指的是应该在类路径上的jar文件,则必须明确命名.例如
java -cp "G:/java/helloworld;G:/whereever/algs4j.jar" HelloWorld
Run Code Online (Sandbox Code Playgroud)
他们真的提供另一个名字System.out吗?在这种情况下,您也可以通过使用System.out而不是安全地忽略该jarStdOut
您可能必须使用-cp标志来设置类路径以包含该包。
使用该-cp标志时,不要忘记使用以下命令包含当前工作目录.
所以,类似的东西javac -cp thejar.jar:.应该在 Linux 上工作或者javac -cp thejar.jar;.应该在 Windows 上工作
| 归档时间: |
|
| 查看次数: |
3660 次 |
| 最近记录: |