添加外部邮箱时出错

时间:2015-12-07 23:35:10

标签: java eclipse jar

我是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 ();
   }
 }
  • "文库"是Jar文件的名称,包括StdIn,StdOut,StdDraw和StdAudio
  • 在我转到这里之前,我查看了有关该问题的最新问题,并尝试了我发现的有关添加外部jar的每个教程,但我仍然收到同样的错误。
  • 我也尝试了该指南中的每个方法: http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-(Java)
  • 我上传了项目当前路径的图片。
  • 正如我之前所说的,我是java的新手,所以我希望我能为您提供所有必要的细节,帮助我解决这个问题。

非常感谢您提供任何帮助。

The current project's path

2 个答案:

答案 0 :(得分:0)

这是因为您没有运行当前正在查看的项目。

根据您的堆栈跟踪,问题源于当前项目中不存在的方法max()

右键单击文件test.java并选择run as java application。

您的运行菜单很可能是以前项目的Hassan旧条目。

答案 1 :(得分:0)

错误是抱怨在LocalMaxFinder中引用的 StdOut,在第11行>的main()方法中引用。>

我没有看到实际库类的源代码,但我的猜测是包名不正确。 Java(按照惯例)使用命名方案来镜像类文件的目录结构,而不是包含它们的实际jar文件的名称。假设jar文件在类路径上,那部分是无关紧要的。

要理解我在详细描述的内容,最好下载一些开源代码,例如从Apache下载,然后查看.java文件中源代码顶部的文件夹结构和行。声明包。例如,如果它是'package com.foo.bar.baz',它将在com / foo / bar / baz的源文件夹中。如果包名不正确,它将给你这个误导性错误,无法找到该类。

你有这些类的源代码吗?

如果没有,jdk中包含一个名为javap的命令行实用程序应该可以提供帮助。