添加外部JAR时发生java错误
我是java中的乞丐,我使用eclipse(如果相关的话)。 我最近尝试使用外部Jar(Std),无论我做什么,每次尝试运行我的程序时都会出现以下错误。 错误:
`Exception in thread "main" java.lang.NoClassDefFoundError: StdOut
at LocalMaxFinder.main(LocalMaxFinder.java:11)
Caused by: java.lang.ClassNotFoundException: StdOut
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
`
我尝试运行的显示错误的最简单代码是:
import libraries.*;
public class Test {
public static void main (String[]args) {
StdOut.print("Enter Integer");
int x= StdIn.readInt ();
}
}
- “libraries”是包含StdIn、StdOut、StdDraw和StdAudio的Jar文件的名称
- 在我转到这里之前,我查看了最近关于这个问题的问题,并尝试了我找到的关于添加外部jar的所有教程,但我仍然收到相同的错误李>
- 我还尝试了该指南中的所有方法: http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-(Java)
- 我上传了项目当前路径的图像李>
- 正如我之前所说,我是java新手,所以我希望我为您提供了所有必要的细节,以帮助我解决这个问题李>
非常感谢你的帮助
# 1 楼答案
错误是因为第11行的main()方法中的LocalMaxFinder引用了类标准输出>
我没有看到实际库类的源代码,但我猜包名不正确。Java(按照惯例)使用的命名方案反映了类文件的目录结构,而不是包含它们的实际jar文件的名称。假设jar文件位于类路径上,那么这一部分是非常不相关的
要理解我详细描述的内容,最好下载一些开放源代码,例如从Apache下载,并查看文件夹结构和源代码顶部的行。声明包的java文件。如果是“包com”。福。酒吧例如,它将位于源文件夹com/foo/bar/baz中。如果包名不正确,它会给你一个错误,那就是找不到类
你有这些类的源代码吗
如果没有,jdk中包含一个名为javap的命令行实用程序应该能够提供帮助
# 2 楼答案
这是因为您没有运行当前正在查看的项目
根据堆栈跟踪,问题源于当前项目中不存在的方法max()
右键单击文件测试。java并选择run as java application
你的跑步菜单很可能是上一个项目的旧条目