sách gpt4 ai đã đi

Giải quyết lỗi IllegalAccessError - Stack Overflow

In lại 作者:行者123 更新时间:2023-12-02 07:19:45 29 4
mua khóa gpt4 Nike

我有以下情况:

同一工作区中的 2 个 Eclipse 项目:Apa 和 Bepa(为简洁起见,使用化名)。

Apa 项目引用(包括)Bepa 项目。

我在 Bepa 有一个类 X,具有公共(public)方法 b()。在 Bepa 项目中直接调用 X.b() 可以正常工作。

但是,在 Apa 中创建对 X 实例的引用,然后对此引用调用 b(),会产生以下结果:

Exception in thread "main" java.lang.IllegalAccessError: tried to access method java_cup.runtime.Symbol.(II)V from class de.uni_freiburg.informatik.ultimate.smtinterpol.util.MySymbolFactory$LineColumnSymbol
at de.uni_freiburg.informatik.ultimate.smtinterpol.util.MySymbolFactory$LineColumnSymbol.(MySymbolFactory.java:31)
at de.uni_freiburg.informatik.ultimate.smtinterpol.util.MySymbolFactory.startSymbol(MySymbolFactory.java:95)
at java_cup.runtime.LRParser.parse(LRParser.java:393)
at de.uni_freiburg.informatik.ultimate.smtinterpol.smtlib2.ParseEnvironment.parseStream(ParseEnvironment.java:152)
at de.uni_freiburg.informatik.ultimate.smtinterpol.smtlib2.ParseEnvironment.parseScript(ParseEnvironment.java:118)
at de.uni_freiburg.informatik.ultimate.smtinterpol.smtlib2.SMTLIB2Parser.run(SMTLIB2Parser.java:47)
at de.uni_freiburg.informatik.ultimate.smtinterpol.Main.main(Main.java:121)
at de.uka.ilkd.key.keynterpol.KeYnterpolInterface.main(KeYnterpolInterface.java:36)

据我了解,罪魁祸首是 B 引用的第三方 jar。但是,我一生都无法弄清楚为什么我只能在 Bepa 中使用它,而不能在 Apa 中使用它。任何帮助将不胜感激。

1 Câu trả lời

IllegalAccessError 是 IncompatibleClassChangeError 的子类。如果在执行代码时引发 IncompleteClassChangeError,这通常表明您的代码未使用编译时所针对的相同类运行。

在您的情况下,导致抛出 IllegalAccessError 的方法是 a constructor of the java_cup.runtime.Symbol lớp học具有默认可见性:

    Symbol(int sym_num, int state)
{
sym = sym_num;
parse_state = state;
}

调用此构造函数的代码位于不同的包中,因此不应直接调用此构造函数。通常,编译器会捕获此类错误,因为尝试从另一个包访问包私有(private)成员会导致编译器错误。但是,就您而言,您似乎没有任何此类编译器错误。

如果您使用与编译代码相同的类路径运行代码,那么我只能猜测 java_cup.* 类在类路径上出现多次,具有不同的可见性对于上面的构造函数。编译器必须找到 Biểu tượng 类的一个副本,并且该构造函数是公共(public)的,并且 JVM 必须找到一个具有包私有(private)构造函数的副本。

关于java - 解决 IllegalAccessError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14408118/

29 4 0
Bài viết được đề xuất: java - SWT 未启用 shell
Bài viết được đề xuất: excel - Excel VBA 中需要的相对单元格地址
Bài viết được đề xuất: 具有可变数量参数的 Prolog 谓词
Bài viết được đề xuất: java - "org.eclipse.equinox.ds@3:start"背后的魔力?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com