2016-10-01 6 views
5

スカラプロジェクトをコンパイルしようとしています。テストの各assert機能のためにIDEAのスカラート・コンパイルでエラーが発生しました

Error:(37, 11) exception during macro expansion: 
java.lang.NoSuchMethodError: org.scalactic.BooleanMacro.genMacro(Lscala/reflect/api/Exprs$Expr;Ljava/lang/String;Lscala/reflect/api/Exprs$Expr;)Lscala/reflect/api/Exprs$Expr; 
at org.scalatest.AssertionsMacro$.assert(AssertionsMacro.scala:34) 
assert((ElementMeasures.baseElementDistance(mEl1, mEl2) - 0.33333).abs < 0.001) 
    ^

: それはSBT

sbt 
> compile 
> test:compile 

に通常のコンパイルが、私はIDEAでそれを構築しようとしていますとき、それは次のようなエラーが表示されます。ファイルには、次のものが含ま

build.sbt

name := "ner-scala" 
organization := "ml.generall" 
version := "1.0-SNAPSHOT" 
scalaVersion := "2.11.8" 
libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.0" 
libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.0" % "test" 
... 
+0

sdk IDEAが使用されていることを確認しましたか? –

+0

はい。 'scala-sdk-2.11.8'は大丈夫です。 – generall

+0

問題は解決しませんでしたか?どのバージョンのIDEAとScalaプラグインを使用していますか? –

答えて

1

私はProject Structureに行き、あなたのIntelliJはIntelliJのからライブラリscalatest

が欠けていると思う - >Project Settings - >Libraries - >+シンボル - >From Maven - >検索scalatestと正しいバージョン

scalatestライブラリfo r IntelliJ、assertエラーが消えるはずです。

これはちょうどそれを試してみる:)

+0

私を助けなかった... – igx

+0

私はすでにそこにスケートをしています。 –

10

、保証ソリューションではありませんまた、あなたが登録scalatestの複数のバージョンを持っていることを意味するかもしれません。私は同じ問題をアサルトのコンパイル時のエラーに来た

+0

'dependencyOverrides + =" org.scalatest "%%" scalatest "%" 3.0.1 "'これを修正しました。奇妙なことでした。私のビルドビルドは機能しましたが、IDEAビルドは失敗しました - IDEAのプロジェクトをsbtプロジェクトとして開いたにもかかわらず、ビルドに失敗しました。 – radumanolescu

7

私はちょうど同じ問題に直面し、アレクセイが述べた(彼はupvoteを取得する必要がありますが、私はupvoteやコメントに十分な評判を持っていない - ありがとうアレクセイ)、それは私のプロジェクトで複数のスケアテストを持つことによって引き起こされたようです。私は、具体的にそれをもたらしたライブラリから古いscalatestを除外して、それを修正することができた(とScalaのバイナリバージョン、例えば_2.11などを指定する必要性を排除していることに注意してください!):

...exclude("org.scalatest", "scalatest_2.11") 

私にとって

SBT project import 
[warn] Multiple dependencies with the same organization/name but different versions. 
[warn] * org.scalatest:scalatest_2.11:(2.2.6, 3.0.1) 
0

この問題は

"org.scalactic" %% "scalactic" % "3.0.1", 
"org.scalatest" %% "scalatest" % "3.0.1" % test 

を変更することで修正されました:除外する前に、イベントログに警告もがされていました

"org.scalactic" %% "scalactic" % "3.0.1", 
"org.scalatest" %% "scalatest" % "3.0.1" 
関連する問題