【问题标题】:Scala GAE project - fail to compile in intellijScala GAE 项目 - 无法在 intellij 中编译
【发布时间】:2012-12-20 23:10:10
【问题描述】:

我在 scala 中有一个大的 GAE(谷歌应用程序引擎)项目,并结合了 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的一些注释: https://issues.scala-lang.org/browse/SI-5165 在 Scala 2.9.1 中失败

我从 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/ 并为他工作。

【问题讨论】:

  • 编译失败,包含maven编译器,所以必须更换workarround

标签: java google-app-engine scala intellij-idea


【解决方案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])

【讨论】:

    【解决方案2】:

    您还应该告诉 IntelliJ 使用您下载的新 Scala 编译器:http://confluence.jetbrains.net/download/attachments/12353606/new_project4.png

    【讨论】:

    猜你喜欢
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2020-07-14
    • 2019-12-07
    • 2017-12-30
    • 1970-01-01
    • 2019-03-25
    相关资源
    最近更新 更多