我在scala中有一个大的GAE(Gooogle应用程序引擎)项目,并且在组合中有一个java。我有scala插件的intellij 11。
我添加了战争爆炸到服务器配置但是当我尝试编译时,这失败了。 我唯一的线索是:
error while loading CrawlQuery, class file 'very/long/path/Foo.class' is broken
(Scala class file does not contain Scala annotation)
我检查了信息,看起来问题是@JsonTypeInfo的一些变形: scala 2.9.1
中https://issues.scala-lang.org/browse/SI-5165失败我从2.9.1改为2.9.2但是没有用。 (我下载了一个scala-compiler.2.9.2.jar,我作为全局库添加到项目中)
此外,我从http://www.scala-lang.org/node/309下载了scala库,并创建了一个虚拟项目来设置为全局库,如下所示:Setting up scala with IntelliJ
我的一个朋友使用Eclipse编译同一个项目,使用插件http://scala-ide.org/并为他工作。
答案 0 :(得分:1)
在检查了一些解决方法之后,我们的解决方案是创建一个带有jackson符号的界面,并将其作为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])
答案 1 :(得分:0)
您还应该告诉IntelliJ使用您下载的新Scala编译器:http://confluence.jetbrains.net/download/attachments/12353606/new_project4.png