如何在Eclipse项目中使用外部类文件

时间:2010-01-31 19:07:02

标签: java eclipse class

我的讲师没有为我们提供教程的.java文件。我的问题是,如何在我的eclipse项目中使用他的类文件,并打败以下错误?

错误:

  Exception in thread "main" java.lang.NoClassDefFoundError: lec/utils/InputReader
 at randomIt.main(randomIt.java:17)
    Caused by: java.lang.ClassNotFoundException: lec.utils.InputReader
     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 java.util.Random;
    import lec/utils.InputReader;

    public class randomIt {

 public static void main(String[] args) {
  Random generator = new Random();
  InputReader myReader = new InputReader();
  //Pick a number randomly between 1 and 10!
   int number = generator.nextInt(10)+1;
  //Ask user to guess...!
   System.out.println("Take a guess (1 to 10)");
   if (number == myReader.readInt()){
    System.out.println("You win");
   }
   else {
    System.out.println("It was " + number + ", tough Luck");
  }
 }

这是我的文件夹结构:
随机 /
       * / bin
      * / lec / utils / InputReader
      * / src / randomIt.java

注意:他的类文件是“InputReader.class”

3 个答案:

答案 0 :(得分:6)

我和Eclipse一起玩这个游戏。给出以下内容:

  1. 创建以下目录结构(您的桌面将执行)classes / lec / utils
  2. 将InputReader类文件放在utils目录中。
  3. 删除您在构建路径中当前拥有的InputReader的所有引用。
  4. 使用(右键单击项目)Properties-> Java Build Path-> Libraries选择'Add external class folder'并选择您在桌面上创建的'classes'文件夹,然后单击OK。
  5. 现在在项目文件夹的'Referenced Libraries'中你应该有一个名为'classes'的包和一个名为'lec.utils'的包路径,它包含InputReader类。
  6. 您可以在自己的类中使用'import lec.utils.InputReader'来使用该类。
  7. 希望能帮助。

答案 1 :(得分:2)

在项目配置菜单中,有一个“构建路径 - >配置构建路径”菜单项。在其中,可以选择添加“外部类文件夹”。将所有提供的类文件放在一个文件夹中,并将该文件夹添加到构建路径。

答案 2 :(得分:0)

您应该进行以下更改

  1. 修改您的randomIt类,使其具有以下include行(无lecs /) import utils.InputReader

  2. 将文件名修改为rnadmIt.java(而不是randomit.java)。类名和名称必须完全相同。同样根据Sun惯例,该课程应以大写字母

  3. 开头
  4. $ cd随机 $ javac -classpath ./lec src / randomIt.java