【问题标题】:Problems Compiling Scala SJSON from GitHub从 GitHub 编译 Scala SJSON 的问题
【发布时间】:2011-01-02 17:15:15
【问题描述】:

我尝试使用的第一个版本的 SJSON (What is a good library for JSON serialization for Scala 2.8.1 for use in Eclipse) 有问题,但是我尝试使用的新版本仍然存在相同的问题,所以我不确定如何处理。

这是我遇到问题的一个例子,它从第 50 行的https://github.com/ginkel/sjson/blob/master/src/main/scala/sjson/json/Generic.scala 开始:

  <#list 2..9 as i> 
  <#assign typeParams><#list 1..i as j>T${j}<#if i !=j>,</#if></#list></#assign>

  def asProduct${i}[S, ${typeParams}](<#list 1..i as j>f${j}: String<#if i != j>,</#if></#list>)(apply : (${typeParams}) => S)(unapply : S => Product${i}[${typeParams}])(implicit <#list 1..i as j>bin${j}: Format[T${j}]<#if i != j>,</#if></#list>) = new Format[S]{

我使用 EGit (http://www.eclipse.org/egit/) 来获取代码,但是当我尝试编译它时,我得到了几个错误,其中两个是:

Description Resource    Path    Location    Type
';' expected but double literal found.  Generic.scala   /sjson/src/main/scala/sjson/json    line 50 Scala Problem
';' expected but '[' found. Generic.scala   /sjson/src/main/scala/sjson/json    line 53 Scala Problem

那么,我应该如何编译这些代码才能正常工作,而无需检查和修复代码,因为这似乎是错误的方法。

【问题讨论】:

  • 您是否尝试在 Eclipse 之外通过 git 克隆 repo,并使用 sbt 设置来编译项目?
  • @VonC - 我使用 EGit(一个 eclipse git 插件)来克隆存储库,但我想我需要看看使用 sbt。

标签: git scala compiler-errors eclipse-3.5


【解决方案1】:

这一定是 Eclipse 的某种问题,因为我刚刚克隆了 repo 并用 sbt 构建它就好了。

如果您想成功构建它,我建议您安装 SBT(如果您还没有安装)。进行 Scala 开发几乎是必需的。与 Netbeans 和 IntelliJ 集成很容易——我不再使用 Eclipse,但我想也可以通过打开 shell 或控制台窗口并在那里运行 SBT 来完成。

一旦你“安装”了 SBT(只是一个 jar 和一个脚本 - http://code.google.com/p/simple-build-tool/),导航到你将 SJSON 克隆到的目录。运行“sbt”。在 sbt 提示符下运行 'update' 以获取依赖项。运行“编译”来构建。一切就绪。

如果您不需要从源代码构建而只是在您的项目中使用该库,它位于 Scala 工具存储库中:http://scala-tools.org/repo-releases/net/debasishg/sjson_2.8.0/ 因此您可以将其添加为 sbt 或 Maven 或 Ivy 中的依赖项。对于 SBT,这应该有效:

val sjson = "net.debasishg" % "sjson_2.8.0" % "0.8"

我没有亲自使用过这个库。 lift-json 对我来说效果很好。但是 sjson 看起来确实值得一看。祝你好运!

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-05
  • 2017-06-24
  • 1970-01-01
相关资源
最近更新 更多