无法扩展以前版本的Scala编译的宏

时间:2017-03-14 06:56:25

标签: scala sbt scala-collections

我将Scala版本从2.10.x更改为2.11.8。我收到一些编译问题。我试过了,但仍然无法解决,因为我在Scala和sbt中很穷。

WebService.scala:36: can't expand macros compiled by previous versions of Scala
[error]         logger.error(s"WebService.getSiteData(${Id}): Unknown Error, Error Message: $e")

请问这里有什么问题?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,但这不是一件事,我做了几件事:

  1. 首先,我浏览了WebService.scala中的错误位置。
  2. 然后到相应的“Logger”类。
  3. 我检查“Logger”课程来自哪个jar。
  4. 我发现它指的是其他东西,而不是我期待的东西。
  5. 那个jar来自我的一个依赖项目(模块),所以在build.sbt中,那些依赖的jar我排除了我找到的错误jar。
  6. 在我更改了WebService.scala中的代码后,我删除了logger的导入,并添加了具有Logger的新导入。我在我的项目中做了所有其他地方。

    WebService.scala:36: can't expand macros compiled by previous versions of Scala
    [error]         logger.error(s"WebService.getSiteData(${Id}): Unknown Error, Error Message: $e")
    
  7. 这不适用于记录器问题。如果您收到“无法扩展由以前版本的Scala编译的宏”问题,则必须执行相同的过程以对应您的错误(我的案例记录器)。

    第一次,我在网上搜索这个问题,我发现很多人面临同样的问题,但不同的库类(我面对Logger类问题)。