给这个班级上课
final case class Score(val value: BigInt, val random: Long = randomLong)
extends Comparable[Score] {
override def compareTo(that: Score): Int = {
if (this.value < that.value) -1
else if (this.value > that.value) 1
else if (this.random < that.random) -1
else if (this.random > that.random) 1
else 0
}
override def equals(obj: _root_.scala.Any): Boolean = {
val that = obj.asInstanceOf[Score] // (package.scala:48)
this.value == that.value && this.random == that.random
}
}
一切都正确编译。几天前,当我以前运行单元测试时,它工作得很好。我已经几周没有更改此代码了,我的所有测试都运行良好,特别是执行此代码的测试。但现在当我运行单元测试时
class java.lang.Integer cannot be cast to class net.kolotyluk.leaderboard.scorekeeping.package$Score (java.lang.Integer is in module java.base of loader 'bootstrap'; net.kolotyluk.leaderboard.scorekeeping.package$Score is in unnamed module of loader 'app')
java.lang.ClassCastException: class java.lang.Integer cannot be cast to class net.kolotyluk.leaderboard.scorekeeping.package$Score (java.lang.Integer is in module java.base of loader 'bootstrap'; net.kolotyluk.leaderboard.scorekeeping.package$Score is in unnamed module of loader 'app')
at net.kolotyluk.leaderboard.scorekeeping.package$Score.equals(package.scala:48)
很明显,有些事情发生了变化,但我不知道是什么。
这个问题似乎与Java9模块特性有关:Java9中创建了多少未命名模块?
> java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
我的JDK没有改变。可能我的maven依赖项的一些版本已经改变。虽然我的Score类的代码没有改变,但我一直在包层次结构中移动东西。
有人对问题还可能是什么或我应该调查的其他事情有什么想法吗?
在其他地方发现问题。第一条消息具有误导性,但进一步深入堆栈跟踪可以发现问题所在。这是一个铸造问题,但与模块无关。
使用ScalaTest 3.0.0环境:Scala 2.11.8、sbt 0.13.5、IntelliJ 14.1.4 建筑sbt只有 以下测试通过。然而,IntelliJ在MyMiniTest下方标记了一条弯曲的红线,并显示警告信息: 类“MyMiniTest”必须声明为抽象的,或实现抽象成员“convertToLegacyEqualizer[T](左:T):TripleEqualSupport
我正在用网页包装我的羔羊。我正在用CDK部署它们。 然而,当通过ApiGateway测试它们时,我得到了这个: Lambda执行失败,状态200由于客户函数错误:错误:找不到模块'apollo-server-lambda'。 这是我的Webpack配置: 执行输出文件,如
我有一个简单的测试设置,如 但当我尝试编译测试时,我会遇到53个错误,比如 实际上并没有传达任何关于问题所在的有用信息。我只能假设在我的构建中没有正确配置某些内容。sbt文件或其他地方。 这段代码确实曾经工作过,在我清理东西的过程中,事情发生了变化,现在它被破坏了,没有好的诊断。 有人能提出要找的东西吗?
问题内容: 我尝试实例化Hibernate并与MySQL数据库连接时遇到问题(请参见下面的错误消息)。 奇怪的是,在运行Junit测试时,使用完全相同的hibernate.cfg.xml文件可以使连接正常工作,但是从Tomcat运行时,它拒绝工作… 我开始用尽所有想法。 有什么线索或提示在哪里寻找? 原因:org.hibernate.HibernateException:无法实例化org.hibe
我正在尝试使用scala-maven-plugin: 3.1.0和Java1.5。然而,我的maven构建失败,出现不兼容错误。 还有一个不支持的类版本警告 插件的文档说明它需要Java 1.5,所以我看不出有什么问题。我在本地使用Java 1.5,也在maven构建中使用。 对问题所在有何建议?我不知道在哪里可以使用另一个版本的Java来编译我的任何类,所以我猜测这是我的一个依赖项中的不兼容,但
问题内容: 导入标准“日志记录”模块会对一堆虚拟条目造成sys.modules污染: 因此,导入此软件包会将额外的名称放入sys.modules中,除了它们不是模块以外,仅引用None。其他模块(例如xml.dom和编码)也有此问题。为什么? 编辑: 在bobince的答案的基础上,有一些页面描述了功能的起源(请参阅“ sys.modules中的虚拟条目”部分)和功能的未来。 问题答案: 中的值是