Polymer Elements不能使用最新的GWT2.8 SNAPSHOT

时间:2016-01-20 15:19:16

标签: gwt maven-3 polymer-1.0

最新的GWT 2.8 SNAPSHOT似乎已经取消了支持 -XjsInteropMode标志。人们已经知道这种情况会发生一段时间。新旗是 -generateJsInteropExports。但是,Polymer似乎并没有意识到这一点。我得到了很多:

[INFO]          [ERROR] Errors in 'jar:file:/C:/Users/ntroncoso/.m2/repository/com/vaadin/polymer/vaadin-gwt-polymer-elements/1.2.1.0/vaadin-gwt-polymer-elements-1.2.1.0.jar!/com/vaadin/polymer/iron/event/IronActivateEvent.java'
[INFO]             [ERROR] Line 36: JsProperty cannot be resolved to a type
[INFO]             [ERROR] Line 31: JsProperty cannot be resolved to a type
[INFO]             [ERROR] Line 16: JsType cannot be resolved to a type
[INFO]             [ERROR] Line 22: JsProperty cannot be resolved to a type
[INFO]             [ERROR] Line 25: JsType cannot be resolved to a type
[INFO]             [ERROR] Line 11: The import com.google.gwt.core.client.js cannot be resolved
[INFO]             [ERROR] Line 10: The import com.google.gwt.core.client.js cannot be resolved

更换旗帜后。我还需要做什么让Polymer找到jsInterop的东西吗?

这种变化是不可避免的,所以说切换到2.7或更旧的2.8版本并不是一个合适的解决方案,除非我只是等待Vaadin更新它们的结束。是否有聚合物快照回购?

2 个答案:

答案 0 :(得分:2)

在挖掘了一些之后,我能够通过以下方式找到一个临时解决方案:

https://github.com/vaadin/gwt-polymer-elements/issues/74

使用来自manalo的冻结快照,我的项目构建。您需要将其添加到maven settings.xml:

<repository>
    <id>gwt-snapshots-tmp-repo</id>
    <url>https://github.com/manolo/gwt-snapshot/raw/master/</url>
    <snapshots><enabled>true</enabled></snapshots>
    <releases><enabled>true</enabled></releases>
</repository>

并将您的GWT版本更改为2.8.0.VC-SNAPSHOT。

根据这个问题:

https://github.com/vaadin/gwt-polymer-elements/issues/66

https://github.com/vaadin/gwt-polymer-elements/issues/86

即将发布gwt-polymer-elements即可解决此问题。

答案 1 :(得分:0)

在我的情况下,在尝试使用带有gwt 2.7的vaadin聚合物包装版本1.2.3.0时出现错误。

即使将jsInterOp设置为JS,编译也无效。

切换到gwt 2.8.0-beta1,gwt:compile任务最终设法处理: import jsinterop.annotations.JsType

在com.vaadin.polymer.paper元素中。

检查gwt版本(即编译器)与Web组件库之间的兼容性。