スパークコンテキストを作成するユニットテストを実行すると、java.lang.SecurityException
が得られます。私は原因が何であるのか理解していますが、解決方法を突き止める方法はわかりません。これは、異なるパッケージ署名者情報を持つ同じパッケージjavax.servlet
を共有する複数の依存関係が存在するためです。依存関係が与えられたときにHiveContextをテストしようとすると、java.lang.SecurityExceptionがスローされる
// Dependencies
libraryDependencies ++= Seq(
"org.apache.spark" % "spark-hive_2.10" % "1.6.2" % Provided
)
// Test dependencies
libraryDependencies ++= Seq(
"junit" % "junit" % "4.10" % Test,
"org.scalatest" %% "scalatest" % "3.0.4" % Test,
"org.apache.hadoop" % "hadoop-minicluster" % "2.5.0" % Test
)
私はsample project to demonstrate thisを作成しました。
org.mortonbay.jetty
とjavax.servlet
の除外ルールを示唆しているこの同じ問題の例はたくさんありますが、私にとってはうまくいくものはありません。
sbt assembly
jarファイルにはを使用していますが、私はそれをテストすることはできません。