【问题标题】:Can't compile vaadin widgetset using gradle and V-Leaflet无法使用 gradle 和 V-Leaflet 编译 vaadin 小部件集
【发布时间】:2019-04-23 09:23:45
【问题描述】:

我有一个使用 vaadin 插件和 gradle 配置的 spring-vaadin 项目。 将 V-Leaflet 添加到我的项目中第一次工作,但后来它坏了,widgetset 再也没有编译过。编译失败,报告找不到jackson:

:vaadinPluginVersionCheck SKIPPED
:compileJava
:vaadinUpdateWidgetset
:processResources UP-TO-DATE
:classes
:vaadinClassPathJar UP-TO-DATE
:vaadinCompile

Errors in 'org/vaadin/addon/leaflet/shared/Point.java'
Line 37: JsonValue cannot be resolved to a type
Line 3: The import com.fasterxml cannot be resolved
Aborting compile due to errors in some input files
 FAILED

这里是 gradle 依赖部分中的相关部分:

compile 'com.fasterxml.jackson.core:jackson-core:2.9.7'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.7'
vaadinCompile  'org.peimari:g-leaflet:+' //For v-leaflet
compile  'org.vaadin.addon:v-leaflet:+' //For map fields

我已经尝试过使用 vaadinCompile,对它们进行编译和实现。

【问题讨论】:

  • 一种可能性是您的类路径中有两个不同版本的 Jackson,因此类加载器无法确定要使用哪个 JsonValue。通常我会在这种情况下检查依赖树并排除不需要的传递依赖,请参阅discuss.gradle.org/t/…
  • 我已经测试过了,但与可用的杰克逊没有冲突。 vaading gradle 插件开发人员也试图帮助我:您是否尝试在 vaadidnCompile 类路径上添加插件?所以它看起来像这样。 // 添加 addon + 其传递依赖到 GWT compile classpath vaadinCompile 'org.vaadin.addon:v-leaflet:+' // 添加 addon + 它的传递依赖到 Java compile classpath compile 'org.vaadin.addon:v-leaflet: +' 但它没有用。

标签: gradle build.gradle vaadin vaadin8 vaadin4spring


【解决方案1】:

我已经解决了。

我不知道到底发生了什么,但我通过更新所有内容并删除vaadinCompile 步骤中对传递依赖项的直接访问来解决了这个问题。

最终的gradle脚本是:

vaadinCompile 'org.vaadin.addon:v-leaflet:2.0.9'
compile 'org.vaadin.addon:v-leaflet:2.0.9'

仅添加 vaadinCompile 部分解决了 jar 并从 gradle 运行的问题,但我还必须添加 compile 指令,以便 eclipse 可以在类路径上找到 v-leaflet 类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多