Scala Error: error while loading Suite, Scala signature Suite has wrong version expected: 5.0 found: 4.1 in Suite.class
准备给scala项目引入单元测试
<dependency> <groupId>org.scalatest</groupId> <artifactId>scalatest_2.10</artifactId> <version>2.2.6</version> </dependency>
Scala版本: 2.10.4
编译的时候遇到了下面的错误:
Error:scalac: error while loading Suite, Scala signature Suite has wrong version expected: 5.0 found: 4.1 in Suite.class
一开始猜错是scalatest的版本不对,换了几个版本都还是遇到一样的错误,认真阅读错误信息后恍然大悟!
应该是编译环境的版本不对,我原来安装的scala版本是2.10.4,升级到1.11.7后没有这个错误了,但却出现了另外一个错误:
can't expand macros compiled by previous versions of Scala
意思应该是说不能展开以前版本scala编译的宏
把相应的scalatest编译的版本升级一下:scalatest_2.10 -> scalatest_2.11
最终的配置:
<dependency> <groupId>org.scalatest</groupId> <artifactId>scalatest_2.11</artifactId> <version>2.2.6</version> <scope>test</scope> </dependency>
Scala版本: 2.11.7
用2.11.7版本的scala编译没有问题了,但是在提交到spark运行的过程中发现有错误,我的spark用的是官方的基于scala2.10.4编译的2.5.1。
java.lang.NoSuchMethodError: scala.Predef$.$conforms()Lscala/Predef$$less$colon$less;
如果想要要用2.11.7版本的scala来编译你的spark app的话
在服务器上就必须自己用对应版本scala重新编译spark!!!
为了偷懒继续折腾~
把scala SDK降级到2.10.6,并把scalatest降级到相应的版本
最最终的配置:
<dependency> <groupId>org.scalatest</groupId> <artifactId>scalatest_2.10</artifactId> <version>2.2.6</version> <scope>test</scope> </dependency>
Scala版本: 2.10.6
最后,终于可以正常编译和运行scalatest了,并且编译的二进制可以在spark上运行起来了。
Keep it simple!
分类:
Java/Scala
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性