Can';t扩展以前版本的Scala编译的宏

Can';t扩展以前版本的Scala编译的宏,scala,sbt,scala-collections,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&qu

我将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")

这里可能有什么问题?

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

  • 首先,我查看了WebService.scala中的错误位置
  • 然后转到相应的“记录器”类
  • 我检查“Logger”类来自哪个jar
  • 我发现它指的不是我所期望的
  • 这个jar来自我的一个依赖项目(模块),所以在build.sbt中,我排除了那些我发现的错误jar
  • 在我更改了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")
    
  • 这不是记录器问题的特殊情况。如果您遇到“无法扩展由以前版本的Scala编译的宏”问题,您必须执行相同的过程来对应您的错误(我的案例记录器)


    第一次,我在网上搜索这个问题,我发现很多人都面临着同样的问题,但不同的图书馆类别(我面临Logger类别问题)。

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

  • 首先,我查看了WebService.scala中的错误位置
  • 然后转到相应的“记录器”类
  • 我检查“Logger”类来自哪个jar
  • 我发现它指的不是我所期望的
  • 这个jar来自我的一个依赖项目(模块),所以在build.sbt中,我排除了那些我发现的错误jar
  • 在我更改了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")
    
  • 这并不是记录器问题的特殊情况。如果您遇到“无法扩展由以前版本的Scala编译的宏”问题,则必须执行与错误对应的相同过程(我的案例记录器)


    第一次,我在网上搜索这个问题,我发现很多人都面临着同样的问题,但不同的图书馆类别(我面临的是Logger类别问题)

    来到这里,有来自不同项目的相同错误消息。我自己在等待答案,我想,你要么需要升级你的宏项目的Scala版本,要么交叉编译它——也就是说,假设你可以访问源代码。我在sbt unidoc插件中看到了这一点(即使Scala版本匹配100%),您是否有机会使用它?将scala reflect添加到项目中解决了我的问题:-如果有问题,请告诉我helps@0__我也尝试过同样的方法,但没有成功。我来到这里,收到来自不同项目的相同错误消息。我自己在等待答案,我想,你要么需要升级你的宏项目的Scala版本,要么交叉编译它——也就是说,假设你可以访问源代码。我在sbt unidoc插件中看到了这一点(即使Scala版本匹配100%),您是否有机会使用它?将scala reflect添加到项目中解决了我的问题:-如果有问题,请告诉我helps@0__我也试过了,但运气不好。