无法扩展由以前版本的Scala编译的宏(scala 2.11.4,sbt 0.13.7,JDK 8)
我正在将项目转换为Scala 2.11.4和sbt 0.13.7。 我遇到了很多错误,其中一些是:
can't expand macros compiled by previous versions of Scala [error] preloadDevice <<= preloadDeviceTask
对于此代码:
lazy val settings: Seq[Setting[_]] = inConfig(Android) (Seq( // Preload Scala on the device/emulator preloadDevice <<= preloadDeviceTask, preloadEmulator <<= InputTask( (sdkPath)(AndroidProject.installedAvds(_)))(preloadEmulatorTask), // Uninstall previously preloaded Scala unloadDevice <<= unloadDeviceTask, unloadEmulator <<= InputTask( (sdkPath)(AndroidProject.installedAvds(_)))(unloadEmulatorTask) ))
我如何解决它?
更新:
JDK 8
从这里: 为什么Def.inputTask宏在Scala 2.11.1中不起作用?
在build.sbt文件中,请确保scalaVersion:=“2.10.4”而不是像scalaVersion:=“2.11.x”
如果使用JDK 8,则对Scala 2.10.x编译的Sbt 0.13.x没有太多选项:
- 仅使用JDK7作为sbt(通过在运行脚本中为sbt设置特定的JAVA_HOME) – 您的项目仍将针对JDK8进行编译
- 尝试JDK8 + Scala-2.10为sbt(它可能工作但当然没有保证)
- 自己构建对JDK8 的 sbt 0.13
- C ++ Rvalue引用和移动语义
- NamedEntityGraph – JPA / Hibernate抛出org.hibernate.loader.MultipleBagFetchException:无法同时获取多个包
- InputStream和ByteArrayInputStream有什么区别?
- 使用Apache HttpClient,为什么我的连接超时不起作用?
- 为什么java中的“超类型令牌”模式需要匿名类
- Java Swing中的控制器是什么?
- X500Principal杰出名称顺序
- Atomikos vs. Bitronix vs. JBossTS – MVCC和嵌套事务
- 报告中有两个DataSource