0

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

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 ) {

            ...

        }

    }

}
4

1 回答 1

0

这是一个测试,以确定问题是否真的与 Eclipse 或 JAR 文件有关。

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

这应该会给你一些关于问题所在的线索。

于 2012-06-14T15:06:06.850 回答