Eclipse无法识别导入的JAR文件中的方法。为什么不?

时间:2012-06-14 14:31:40

标签: java eclipse import jar buildpath

我正在使用Eclipse为我的工作更新一些Java代码。在此项目中,存在一个JAR文件,存储在项目文件夹中的“resources”文件夹中,由主类导入。这个JAR文件包含我们需要在另一个类中使用的类。因此,import语句如下所示:

import pkg.Class.InnerClass;

我实际上无法将这些名称放在网上,以保密。这个InnerClass有一个方法,我们称之为setState(boolean b)。在我们的主类中,我们需要使用这个方法...但是当我输入它时,调用下会出现一条红线,并显示错误消息,

"The method setState(boolean) is undefined for the type Class.InnerClass."

这显然是假的!几乎所有InnerClass中的其他方法都运行得很好,而且这个特定类似乎只是一个错误。我检查并仔细检查了构建路径配置,并没有任何异常。我无法更改JAR文件,但我可以使用反编译器插件查看内容。有没有人知道我不知道的事情,或者有人遇到过这个问题,并且能够以某种方式解决这个问题?

编辑:这是Class.java文件的草图:

package pkg;

import ...;

public class Class {

    public class InnerClass {

        public void setState( boolean paramBoolean ) {

            ...

        }

        public void setOtherState( boolean paramBoolean ) {

            ...

        }

    }

}

1 个答案:

答案 0 :(得分:0)

这是一个测试,用于确定问题是否与Eclipse有关,或者与JAR文件有关。

  • 退出Eclipse并启动您喜欢的文本编辑器。
  • 编写一个在内部类中使用“missing”方法的小测试类。
  • 使用javac命令从命令行编译它,并在编译类路径上使用JAR。
  • 然后将其复制到Eclipse工作区并尝试在那里编译。

这应该可以为您提供一些问题所在的线索。