2016-08-24 7 views
0

初心者向けの開発者として私の最初の大きなプロジェクトに取り組んでいます。SBTとライブラリをはじめて使用する:多くのエラー

私は外部ライブラリ(junrar)が必要なので、sbtをダウンロードして単純なbuild.sbtを作成しました。しかし、今私は私のプログラム(Intellijで)を実行しようとすると、私はこの大きなエラーメッセージのブロックを取得します。

Information:8/23/16, 8:13 PM - Compilation completed with 1 error and 8 warnings in 10s 420ms 
Error:scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException 
Error compiling sbt component 'compiler-interface-2.9.1.final-52.0' 
    at sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1$$anonfun$apply$2.apply(AnalyzingCompiler.scala:145) 
    at sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1$$anonfun$apply$2.apply(AnalyzingCompiler.scala:142) 
    at sbt.IO$.withTemporaryDirectory(IO.scala:291) 
    at sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1.apply(AnalyzingCompiler.scala:142) 
    at sbt.compiler.AnalyzingCompiler$$anonfun$compileSources$1.apply(AnalyzingCompiler.scala:139) 
    at sbt.IO$.withTemporaryDirectory(IO.scala:291) 
    at sbt.compiler.AnalyzingCompiler$.compileSources(AnalyzingCompiler.scala:139) 
    at sbt.compiler.IC$.compileInterfaceJar(IncrementalCompiler.scala:52) 
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$.org$jetbrains$jps$incremental$scala$local$CompilerFactoryImpl$$getOrCompileInterfaceJar(CompilerFactoryImpl.scala:87) 
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$$anonfun$getScalac$1.apply(CompilerFactoryImpl.scala:44) 
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl$$anonfun$getScalac$1.apply(CompilerFactoryImpl.scala:43) 
    at scala.Option.map(Option.scala:146) 
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl.getScalac(CompilerFactoryImpl.scala:43) 
    at org.jetbrains.jps.incremental.scala.local.CompilerFactoryImpl.createCompiler(CompilerFactoryImpl.scala:22) 
    at org.jetbrains.jps.incremental.scala.local.CachingFactory$$anonfun$createCompiler$1.apply(CachingFactory.scala:24) 
    at org.jetbrains.jps.incremental.scala.local.CachingFactory$$anonfun$createCompiler$1.apply(CachingFactory.scala:24) 
    at org.jetbrains.jps.incremental.scala.local.Cache$$anonfun$getOrUpdate$2.apply(Cache.scala:20) 
    at scala.Option.getOrElse(Option.scala:121) 
    at org.jetbrains.jps.incremental.scala.local.Cache.getOrUpdate(Cache.scala:19) 
    at org.jetbrains.jps.incremental.scala.local.CachingFactory.createCompiler(CachingFactory.scala:23) 
    at org.jetbrains.jps.incremental.scala.local.LocalServer.compile(LocalServer.scala:22) 
    at org.jetbrains.jps.incremental.scala.remote.Main$.make(Main.scala:67) 
    at org.jetbrains.jps.incremental.scala.remote.Main$.nailMain(Main.scala:24) 
    at org.jetbrains.jps.incremental.scala.remote.Main.nailMain(Main.scala) 
    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:497) 
    at com.martiansoftware.nailgun.NGSession.run(NGSession.java:319) 
Warning:scalac: error: error while loading CharSequence, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/jre/lib/rt.jar(java/lang/CharSequence.class)' is broken 
(bad constant pool tag 18 at byte 10) 
Warning:scalac: error: error while loading AnnotatedElement, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/jre/lib/rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken 
(bad constant pool tag 18 at byte 76) 
Warning:scalac: error: error while loading Arrays, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/jre/lib/rt.jar(java/util/Arrays.class)' is broken 
(bad constant pool tag 18 at byte 765) 
Warning:scalac: error: error while loading Comparator, class file '/Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/jre/lib/rt.jar(java/util/Comparator.class)' is broken 
(bad constant pool tag 18 at byte 20) 
Warning:scalac: /var/folders/ly/9qm0nrln35ddtk1xyzmpw8n00000gn/T/sbt_d176391c/ExtractAPI.scala:479: error: java.util.Comparator does not take type parameters 
Warning:scalac: private[this] val sortClasses = new Comparator[Symbol] { 
Warning:scalac:          ^
Warning:scalac: 5 errors found 

build.sbt:

name := "CViewerMain" 

version := "0.0.1" 

scalaVersion := "2.9.1" 

libraryDependencies += "com.github.junrar" % "junrar" % "0.7" 

// for debugging sbt problems 
//logLevel := Level.Debug 

scalacOptions += "-deprecation" 
+0

あなたの 'build.sbt'の外観はどうですか? IntelliJはSBTであなたのプロジェクトを編集していますか?必要なライブラリをダウンロードしていないようです。 –

+0

助けてくれてありがとう。私はsbtを使ってビルドしていると思ったが、わからない。私はちょうど左上隅の実行ボタンをクリックしていた。 – Jones

+0

IntelliJのIDEプラグインが設定されていない限り、実行ボタンは何か他の操作をしています... –

答えて

0

場所にあることが必要なものがいくつかあります。

IntelliJ側では、モジュールをSBTで構築する必要があります。あなたの 'Project Structure'を開き、 'Modules'をクリックしてください。中央の列には、すべてのモジュールが構築されている必要があります。 SBTモジュールをクリックし、右側でSBTタブを選択します。そのすべてがうまくいくなら、あなたは行き​​たいです。それはこのようになります:SBTの設定側では

What you're looking for.

は、あなたが the IntelliJ pluginが有効になっていることを確認する必要があります。通常これは build/plugins.sbtファイル内にあります。 あなたが必要とするすべてのすべきことであるが、

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0") // For IntelliJ 

:このような行があります。 IntelliJが何か違うものを見せている場合は、プロジェクトを再作成し、それがSBTプロジェクトであることを指定してください。これを行うと、ルートレベルのbuild.sbtファイルが表示されます。

sbtファイルが有効であることを確認するには、プロジェクトのルートにあるコマンドラインに移動し、sbtを実行します。それがロードされる場合、IntelliJはそこからそれを取ることができるはずです。 IntelliJに戻り、コンソールを開いて同じことを実行します。 (これもうまくいくはずです)。SBTがロードされたら、タスクを実行してアプリケーションを実行します。ここにエラーがある場合は、それをより冗長にして修正する必要があります。

関連する問題