2012-08-31 86 views
0

我在scala中有一個很大的GAE(Gooogle應用程序引擎)項目,和java結合在一起。我有斯卡拉插件intellij 11。Scala GAE項目 - 無法在intellij中編譯

我添加了戰爭爆炸到服務器配置,但是當我嘗試編譯,這失敗。 我唯一的線索是:

error while loading CrawlQuery, class file 'very/long/path/Foo.class' is broken 
(Scala class file does not contain Scala annotation) 

我查過資料了,貌似問題是@JsonTypeInfo的一些anotation: https://issues.scala-lang.org/browse/SI-5165失敗斯卡拉2.9.1

我改變了從2.9.1到2.9 .2但不起作用。 (我下載了一個scala編譯器。2.9.2.jar,我作爲一個全局庫添加到項目中)

另外,我從http://www.scala-lang.org/node/309下載了scala庫,並創建了一個虛擬項目以將其設置爲全局庫,如解釋:Setting up scala with IntelliJ

我的一個朋友使用Eclipse編譯同一個項目,插件http://scala-ide.org/和他的工作。

+0

編譯失敗,包容與Maven的編譯器,所以我們必須以恰克的workarround – vmariano

回答

1

檢查後一些解決方法,我們的解決方案是創建一個與傑克遜的符號接口,並加入到班級爲mixint:

import com.fasterxml.jackson.annotation.JsonTypeInfo; 

@JsonTypeInfo(use = JsonTypeInfo.Id.MINIMAL_CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class") 
public interface JsonTypeMixin { 

} 

,並在執行:

objectMapper.addMixInAnnotations(classOf[Post], classOf[JsonTypeMixin])