【问题标题】:Adding an external jar to Order and Export build path generates error in project将外部 jar 添加到 Order 和 Export 构建路径会在项目中生成错误
【发布时间】:2017-12-17 00:11:04
【问题描述】:

我有一个 Eclipse 插件,它的 Java 代码构建在多个项目中。在其中一个项目中,我添加了一个外部 jar 并使用了其中的一些类。在编译时没有报告错误,但在运行时,抛出了 NoClassDefFoundError 异常。我按照this 解决方案解决了这个问题。

在此之后,我运行了 Project -> Clean..,但突然在另一个项目中出现了 The method filter(Predicate<? super String[]>) in the type FluentIterable<String[]> is not applicable for the arguments ... 的错误。

我在这两种情况下比较了FluentIterable 类,它们的来源没有修改。

为什么会这样?

【问题讨论】:

  • 如何将一个Eclipse插件的代码拆分成多个项目?请提供example to reproduce your problem?您使用哪个 Eclipse 版本和哪个 Java 版本?
  • @howlger 使用 Maven 结构,它们之间存在依赖关系。我发现了问题。导入的 Jar 使用了与 guava 不同的 FluentIterable 类,我看到该类的来源相同,因为在更改回类路径时我没有执行清理。
  • @howlger 我不清楚的是:因为我只为使用外部 jar 的包设置构建路径,为什么它会影响其他包(在我的情况下它会影响不同的项目! )
  • 我认为为单个插件使用多个项目会混淆 Eclipse PDE 并且事情不会正常工作。将插件拆分为多个较小的插件,每个项目一个。

标签: java eclipse eclipse-plugin


【解决方案1】:

我收到错误是因为导入的 jar 使用了与 guava jar 不同的 FluentIterable 类。我认为类起源是相同的,因为当我切换回构建路径时,我没有执行 Project->Clean 并且 eclipse 仍然指向错误的类位置。

【讨论】:

    猜你喜欢
    • 2014-01-20
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 2018-02-06
    • 2012-05-03
    • 2015-09-10
    • 2013-07-15
    • 1970-01-01
    相关资源
    最近更新 更多