Scala 编译器中的错误:java.lang.AssertionError:断言失败(即使在 Eclipse 中指定了项目依赖项)

Posted

技术标签:

【中文标题】Scala 编译器中的错误:java.lang.AssertionError:断言失败(即使在 Eclipse 中指定了项目依赖项)【英文标题】:Error in Scala Compiler: java.lang.AssertionError: assertion failed (even when project dependency is specified in Eclipse) 【发布时间】:2014-11-27 13:19:40 【问题描述】:

当我尝试在 Eclipse 中编译我的 Scala 项目时,我收到以下错误(最后的堆栈跟踪)。它说断言在 Java 类 TransportConf 上失败(在 Java 构建路径中指定的项目 spark-network-common 中)。我检查了目标文件夹,TransportConf.class 存在

以前工作时出现问题的可能原因:

我正在将上游/master 中的代码合并到我的项目中,并引入了新的依赖项。我通常运行 sbt reload, eclipse with-source=true 然后刷新我的 eclipse 项目。这是正确的方法吗?

我做过的事情: - 将 spark-network-common 编译级别更新为 1.6,因为不知何故将编译级别设置为 1.4,而我遇到了 Java 泛型错误。

eclipse.buildId=3.0.3-20140327-1716-Typesafe
java.version=1.8.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -keyring /Users/rajivabraham/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -keyring /Users/rajivabraham/.eclipse_keyring -showlocation

Error
Thu Nov 27 07:52:19 EST 2014
Error in Scala compiler

java.lang.AssertionError: assertion failed: TransportConf
    at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1212)
    at scala.reflect.internal.Symbols$Symbol.baseTypeSeqLength$1(Symbols.scala:1628)
    at scala.reflect.internal.Symbols$Symbol.isLess(Symbols.scala:1631)
    at scala.reflect.internal.Types$Type.baseTypeIndex(Types.scala:992)
    at scala.reflect.internal.Types$CompoundType.baseType(Types.scala:1655)
    at scala.reflect.internal.Types$ClassTypeRef$class.baseType(Types.scala:2186)
    at scala.reflect.internal.Types$TypeRef$$anon$6.baseType(Types.scala:2544)
    at scala.reflect.internal.Types$class.firstTry$1(Types.scala:6043)
    at scala.reflect.internal.Types$class.isSubType2(Types.scala:6207)
    at scala.reflect.internal.Types$class.isSubType(Types.scala:5816)
    at scala.reflect.internal.SymbolTable.isSubType(SymbolTable.scala:13)
    at scala.reflect.internal.Types$Type.$less$colon$less(Types.scala:872)
    at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1160)
    at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:1102)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5660)
    at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:3042)
    at scala.tools.nsc.typechecker.Typers$Typer.loop$1(Typers.scala:3069)
    at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:3074)
    at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$handleMonomorphicCall$1(Typers.scala:3354)
    at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3398)
    at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4627)
    at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4659)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5564)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5721)
    at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:5808)
    at scala.tools.nsc.typechecker.Namers$Namer.assignTypeToTree(Namers.scala:834)
    at scala.tools.nsc.typechecker.Namers$Namer.valDefSig(Namers.scala:1315)
    at scala.tools.nsc.typechecker.Namers$Namer.getSig$1(Namers.scala:1457)
    at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1466)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply$mcV$sp(Namers.scala:731)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:730)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:730)
    at scala.tools.nsc.typechecker.Namers$Namer.scala$tools$nsc$typechecker$Namers$Namer$$logAndValidate(Namers.scala:1499)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:730)
    at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:729)
    at scala.tools.nsc.typechecker.Namers$$anon$1.completeImpl(Namers.scala:1614)
    at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter$class.complete(Namers.scala:1622)
    at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1612)
    at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1231)
    at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1374)
    at scala.tools.nsc.typechecker.MethodSynthesis$MethodSynth$class.addDerivedTrees(MethodSynthesis.scala:225)
    at scala.tools.nsc.typechecker.Namers$Namer.addDerivedTrees(Namers.scala:55)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$32.apply(Typers.scala:1917)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$32.apply(Typers.scala:1917)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$rewrappingWrapperTrees$1.apply(Typers.scala:1856)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$rewrappingWrapperTrees$1.apply(Typers.scala:1853)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
    at scala.collection.immutable.List.foreach(List.scala:318)
    at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
    at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
    at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1917)
    at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1759)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5583)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
    at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:2928)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$61.apply(Typers.scala:3032)
    at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$61.apply(Typers.scala:3032)
    at scala.collection.immutable.List.loop$1(List.scala:170)
    at scala.collection.immutable.List.mapConserve(List.scala:186)
    at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3032)
    at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5301)
    at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5587)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5642)
    at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5704)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:99)
    at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:464)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:91)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:91)
    at scala.collection.Iterator$class.foreach(Iterator.scala:727)
    at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
    at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:91)
    at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1583)
    at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1557)
    at scala.tools.nsc.Global$Run.compileSources(Global.scala:1553)
    at scala.tools.nsc.Global$Run.compile(Global.scala:1662)
    at xsbt.CachedCompiler0.run(CompilerInterface.scala:123)
    at xsbt.CachedCompiler0.run(CompilerInterface.scala:99)
    at xsbt.CompilerInterface.run(CompilerInterface.scala:27)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:102)
    at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:48)
    at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:41)
    at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply$mcV$sp(AggressiveCompile.scala:99)
    at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply(AggressiveCompile.scala:99)
    at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply(AggressiveCompile.scala:99)
    at sbt.compiler.AggressiveCompile.sbt$compiler$AggressiveCompile$$timed(AggressiveCompile.scala:166)
    at sbt.compiler.AggressiveCompile$$anonfun$3.compileScala$1(AggressiveCompile.scala:98)
    at sbt.compiler.AggressiveCompile$$anonfun$3.apply(AggressiveCompile.scala:143)
    at sbt.compiler.AggressiveCompile$$anonfun$3.apply(AggressiveCompile.scala:87)
    at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:39)
    at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:37)
    at sbt.inc.IncrementalCommon.cycle(Incremental.scala:99)
    at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:38)
    at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:37)
    at sbt.inc.Incremental$.manageClassfiles(Incremental.scala:65)
    at sbt.inc.Incremental$.compile(Incremental.scala:37)
    at sbt.inc.IncrementalCompile$.apply(Compile.scala:27)
    at sbt.compiler.AggressiveCompile.compile2(AggressiveCompile.scala:157)
    at sbt.compiler.AggressiveCompile.compile1(AggressiveCompile.scala:71)
    at sbt.compiler.AggressiveCompile.apply(AggressiveCompile.scala:46)
    at sbt.compiler.IC$.compile(IncrementalCompiler.scala:22)
    at scala.tools.eclipse.buildmanager.sbtintegration.EclipseSbtBuildManager.runCompiler(EclipseSbtBuildManager.scala:133)
    at scala.tools.eclipse.buildmanager.sbtintegration.EclipseSbtBuildManager.update(EclipseSbtBuildManager.scala:124)
    at scala.tools.eclipse.buildmanager.sbtintegration.EclipseSbtBuildManager.build(EclipseSbtBuildManager.scala:178)
    at scala.tools.eclipse.ScalaProject.build(ScalaProject.scala:666)
    at scala.tools.eclipse.ScalaBuilder.build(ScalaBuilder.scala:119)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:733)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
    at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:514)
    at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:423)
    at org.eclipse.jdt.internal.ui.util.CoreUtility$BuildJob.run(CoreUtility.java:162)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

【问题讨论】:

谷歌员工,在重新安装包含我的终端导航到的 Scala 项目的磁盘后,我得到了一个Error during sbt execution: java.lang.AssertionError: Assertion failed 【参考方案1】:

执行 mvn clean 修复了上述错误。我之前使用 mvn 进行了构建,然后也使用了 sbt。

【讨论】:

【参考方案2】:

这里很难给出答案,而且有太多的问题要放在 cmets 中,所以我的尝试更多的是索取信息而不是真正的答案。

这很可能是 Scala 编译器中的错误。您使用的是哪个 Scala 版本,以及您使用的是哪个版本的 Scala IDE?构建在 Sbt 中可以正常工作吗?

您的依赖项目是 Java 项目还是 Scala 项目?它构建时没有错误吗?

如果尚未使用 4.0-RC2,我会将 Scala 插件升级到该版本。我假设您的项目在 Scala 2.10 范围内的某个版本上,因此请确保您 Set the Scala installation 使用正确的版本(4.0-RC2 仅针对 2.11 发布,但具有 multi-version support)。

【讨论】:

感谢您的建议。以某种方式执行 mvn clean 清除了该错误。我还有其他错误,我会尝试你建议的所有方法【参考方案3】:

使用 mvn clean 清理你的 maven 项目。(只要你有互联网连接,这个错误就不会弹出)

【讨论】:

以上是关于Scala 编译器中的错误:java.lang.AssertionError:断言失败(即使在 Eclipse 中指定了项目依赖项)的主要内容,如果未能解决你的问题,请参考以下文章

Scala:编译错误:方法重载

Scala 程序中的三元运算符使用 [关闭]

在 Eclipse IDE 中使用 Scala 代码。内部编译器错误

为什么sbt build失败并出现“MissingRequirementError:找不到编译器镜像中的对象scala.runtime。”?

编译 Play 框架测试时出现错误“scala.reflect.internal.MissingRequirementError: object scala.runtime in compiler m

Scala、Apache Spark编写的编译错误保存模型