我有以下情况:
同一工作区中的 2 个 Eclipse 项目,Apa 和 Bepa(为简洁起见使用化名)。
Project Apa 引用(包括)项目 Bepa。
我在 Bepa 有一个 X 类,带有公共方法 b()。在项目 Bepa 中直接调用 Xb() 可以正常工作。
但是,在 Apa 中创建对 X 实例的引用,然后在此引用上调用 b() 会导致:
Exception in thread "main" java.lang.IllegalAccessError: tried to access method java_cup.runtime.Symbol.<init>(II)V from class de.uni_freiburg.informatik.ultimate.smtinterpol.util.MySymbolFactory$LineColumnSymbol
at de.uni_freiburg.informatik.ultimate.smtinterpol.util.MySymbolFactory$LineColumnSymbol.<init>(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 内部使用它。任何帮助将不胜感激。