java.util.Comparator does not take type parameters
SparkでWebログの解析をしようと思って,apache httpd形式のログはパースがそんなに難しくは無いのでずっと自前パーサ書いてたのですが,ライブラリあったら使ってみようと思ってこちらをgit cloneして来ました.
GitHub - vmunier/ScalaApacheAccessLogParser: An Apache access log parser written in Scala
$ sbt package Getting org.scala-sbt sbt 1.0.2 ... downloading https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.0.2/sbt-1.0.2.jar ... [SUCCESSFUL ] org.scala-sbt#sbt;1.0.2!sbt.jar (497ms) (中略) [info] Compiling 2 Scala sources to ScalaApacheAccessLogParser/target/scala-2.10/classes ... [info] Non-compiled module 'compiler-bridge_2.10' for Scala 2.10.0. Compiling... error: error while loading CharSequence, class file '/usr/java/jdk1.8.0_102/jre/lib/rt.jar(java/lang/CharSequence.class)' is broken (class java.lang.RuntimeException/bad constant pool tag 18 at byte 10) error: error while loading Comparator, class file '/usr/java/jdk1.8.0_102/jre/lib/rt.jar(java/util/Comparator.class)' is broken (class java.lang.RuntimeException/bad constant pool tag 18 at byte 20) error: error while loading AnnotatedElement, class file '/usr/java/jdk1.8.0_102/jre/lib/rt.jar(java/lang/reflect/AnnotatedElement.class)' is broken (class java.lang.RuntimeException/bad constant pool tag 18 at byte 76) error: error while loading Arrays, class file '/usr/java/jdk1.8.0_102/jre/lib/rt.jar(java/util/Arrays.class)' is broken (class java.lang.RuntimeException/bad constant pool tag 18 at byte 765) /tmp/sbt_59e9e60d/xsbt/ExtractAPI.scala:672: error: java.util.Comparator does not take type parameters private[this] val sortClasses = new Comparator[Symbol] { ^ 5 errors found [info] Attempting to fetch org.scala-sbt:compiler-bridge_2.10:1.0.1. [info] downloading https://repo1.maven.org/maven2/org/scala-sbt/util-interface/1.0.0/util-interface-1.0.0.jar ... [info] downloading https://repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.10/1.0.1/compiler-bridge_2.10-1.0.1-sources.jar ... [info] [SUCCESSFUL ] org.scala-sbt#util-interface;1.0.0!util-interface.jar (506ms) [info] [SUCCESSFUL ] org.scala-sbt#compiler-bridge_2.10;1.0.1!compiler-bridge_2.10.jar(src) (572ms) [error] (compile:compileIncremental) Error compiling the sbt component 'compiler-bridge_2.10' [error] Total time: 13 s, completed Oct 4, 2017 12:07:03 PM
ググるとすぐさま出るこちらがビンゴ.
scala - java.util.Comparator does not take type parameters - Stack Overflow
Scalaのバージョン指定が悪いようなので,2.10.0指定になっているbuild.sbtを書き換えて成功.
[info] Compiling 2 Scala sources to ScalaApacheAccessLogParser/target/scala-2.11/classes ... [info] Non-compiled module 'compiler-bridge_2.11' for Scala 2.11.8. Compiling... [info] Compilation completed in 8.155s. [info] Done compiling. [info] Packaging ScalaApacheAccessLogParser/target/scala-2.11/scalaapacheaccesslogparser_2.11-1.0.jar ... [info] Done packaging. [success] Total time: 21 s, completed Oct 4, 2017 1:52:01 PM
つまり,こちらのファイルの修正が必要でした.
ScalaApacheAccessLogParser/build.sbt at master · vmunier/ScalaApacheAccessLogParser · GitHub
(追記)
こちら,項目が固定だったり単純な正規表現でマッチしてたり,余り賢くなくてダメでした...