【问题标题】:loader constraint java linker加载程序约束 java 链接器
【发布时间】:2013-08-22 03:28:45
【问题描述】:

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

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

我试过了

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

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

我该如何解决这个问题?

【问题讨论】:

  • 运行特定任务时是否会出现此错误?如果是,是哪一个?另外,请显示完整的堆栈跟踪。

标签: java gradle


【解决方案1】:

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

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

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

-verbose:class

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 2021-06-29
    • 2018-04-04
    • 2011-11-20
    • 2013-04-11
    相关资源
    最近更新 更多