0

我们正在使用 Tycho 来构建我们的功能/捆绑包并org.eclipse.equinox.p2.director用于更新产品。

我注意到更新导致java.lang.LinkageError产品在更新期间运行。我想问题是在执行更新时已经加载了一些二进制类,并且它们与可能在更新后加载的新类不匹配。

我找不到有关此类问题的任何信息。

请注意,p2 导向器是从外部进程调用的,而不是在 eclipse 本身中导致此错误的原因。

4

1 回答 1

0

LinkageError ( http://docs.oracle.com/javase/6/docs/api/java/lang/LinkageError.html ) 的 Javadoc 非常不言自明:

LinkageError 的子类表明一个类对另一个类有某种依赖;但是,后一个类在前一个类编译后发生了不兼容的变化。

在您的情况下,我可以想象:已经安装了一些没有明确的 Bundle-RequiredExecutionEnvironment 清单约束的捆绑包,并且一些用户拥有与它不兼容的 JVM。其他包依赖于这些包,当涉及到类加载时,您会得到 LinkageError。

于 2013-10-21T21:05:40.430 回答