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

时间:2014-11-27 13:19:40

标签: java eclipse scala scala-ide

当我尝试在Eclipse中编译我的Scala项目时,我得到以下错误(最后的堆栈跟踪)。它表示断言失败的Java类TransportConf(在Java Build Path中指定的项目spark-network-common中)。我检查了目标文件夹,并且TransportConf.class存在

可能导致问题的原因是:

  • 我正在将来自upstream / master的代码合并到我的项目中,并引入了新的依赖项。我通常运行s​​bt {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)

3 个答案:

答案 0 :(得分:7)

做一个mvn clean修复了上面的错误。我之前用mvn做了一个构建,然后也使用了sbt。

答案 1 :(得分:1)

这里很难给出答案,并且在评论中提出的问题太多,所以我的尝试更多的是获取信息而不是真正的答案。

这很可能是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)。

答案 2 :(得分:0)

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