gpt4 book ai didi

java - 如何用命令行编译运行斯坦福的Karel?

转载 作者:行者123 更新时间:2023-11-30 09:33:29 26 4
gpt4 key购买 nike

这个程序在同一台机器上的 eclipse 中编译和运行流畅,但我真的很想从命令行和我选择的编辑器中工作。

CollectNewspaperKarel.java

import stanford.karel.*;

public class CollectNewspaperKarel extends SuperKarel {

public void run() {
// You fill in this part
}

}

karel.jar 与上述文件位于同一目录中。

编译

javac -cp karel.jar CollectNewspaperKarel.java

没有错误。

运行

java -cp karel.jar CollectNewspaperKarel

Exception in thread "main" java.lang.NoClassDefFoundError: CollectNewspaperKarel
Caused by: java.lang.ClassNotFoundException: CollectNewspaperKarel
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

最佳答案

您在运行程序时忘记将您的类包含到类路径中。

试试这个 - 如果在 Windows 上运行:

java -cp karel.jar;CollectNewspaperKarel.class CollectNewspaperKarel

或者如果你在 linux 上运行的话:

java -cp karel.jar:CollectNewspaperKarel.class CollectNewspaperKarel

还有一件事,你需要在你的类中有 main 方法,否则它不会工作:)

更新:

我找到了以下网站:http://ycsoftware.net/setting-up-karel-the-robot-in-eclipse/

看来,如果你的 karel 版本与那里的作者相同,你应该使用以下参数:

在 window 上:

java -cp karel.jar;CollectNewspaperKarel.class stanford.karel.Karel code=CollectNewspaperKarel

在 Linux 上:

java -cp karel.jar:CollectNewspaperKarel.class stanford.karel.Karel code=CollectNewspaperKarel

关于java - 如何用命令行编译运行斯坦福的Karel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com