最新的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更新它们的结束。是否有聚合物快照回购?
答案 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组件库之间的兼容性。