0

原因:java.lang.LinkageError:加载程序约束违规:加载程序先前为名为“org/joda/time/DateTime”的不同类型启动加载

我认为这是两个 jar 加载相同插件的问题。我正在使用 gradle 作为我的自动构建系统 - 我该如何解决这个问题?

我试过了

configurations.all {
  resolutionStrategy {
    force "sourceforge:joda-time:2.0"
  }
}

但我认为这不起作用,因为所做的只是强制使用一个版本的 joda-time。

我该如何解决这个问题?

4

1 回答 1

0

该异常通常表明在同一 JVM 中运行的两个或多个组件之间不兼容(尤其是在容器使用的组件和包含的组件之间)。

是的,这可能与加载同一插件的两个不同版本有关。

由于我没有遇到过那种特定情况,我只能建议使用 JVM 选项

-verbose:class

或类似的(取决于 JVM 品牌/版本)以更好地识别冲突。

于 2013-08-22T04:08:31.510 回答