私はマルチモジュールSBTプロジェクトを開発します。一般的にはakka apiです。私はそれをローカルで実行し、ドッカーでパッケージ化するとうまく動作します。SBTマルチモジュールプロジェクト:メインモジュールで静的ファイル(リソース)を利用できるようにする方法は?
最近、私は電子メールテンプレート生成用の新しいモジュールを追加しました。私はこの目的でscalate mustacheを使うことに決めました。テストの理由から私は単純なテンプレートhello.mustacheをemail/src/main/resources/templates
に作成しました。
次に、email/src/main/scala
にあるクラスのテンプレートを使用するコードを実行します。すべてがコンパイルされました。(scalate templates & scala code)
私はアプリモジュールに含まれているセキュリティモジュールにメールモジュールに依存関係を追加した後:メールのコードを実行しようとしているときに、私は、次のエラーが表示
import sbt.Keys._
import NativePackagerHelper._
lazy val core = project.in(file("core"))
.settings(name := "core")
.settings(Common.settings)
.settings(libraryDependencies ++= Dependencies.commonDependencies)
.enablePlugins(JavaAppPackaging)
lazy val email = project.in(file("email"))
.settings(name := "email")
.settings(Common.settings)
.settings(libraryDependencies ++= Dependencies.emailDependencies)
.enablePlugins(JavaAppPackaging)
lazy val contacts = project.in(file("contacts"))
.settings(name := "contacts")
.settings(Common.settings)
.dependsOn(core % "test->test;compile->compile")
.enablePlugins(JavaAppPackaging)
lazy val security = project.in(file("security"))
.settings(name := "security")
.settings(Common.settings)
.dependsOn(email, core % "test->test;compile->compile")
.enablePlugins(JavaAppPackaging)
lazy val app = project.in(file("."))
.enablePlugins(JavaAppPackaging, AshScriptPlugin, DockerPlugin)
.settings(name := "app")
.settings(Common.settings)
.dependsOn(core, security, contacts)
.settings(
mainClass in Compile := Some("com.app.Main"),
packageName in Docker := "app-backend",
version in Docker := "latest",
dockerBaseImage := "openjdk:8-jre-alpine",
dockerExposedPorts := Seq(5000)
)
:
Exception in thread "main" org.fusesource.scalate.TemplateException: scala.tools.nsc.symtab.classfile.ClassfileParser$unpickler$.unpickle([BILscala/reflect/internal/Symbols$Symbol;Lscala/reflect/internal/Symbols$Symbol;Ljava/lang/String;)V
at org.fusesource.scalate.TemplateEngine.compileAndLoad(TemplateEngine.scala:886)
at org.fusesource.scalate.TemplateEngine.compileAndLoadEntry(TemplateEngine.scala:745)
...
はどのようでメールモジュールのコードを動作させるためにノートモジュール?
追加情報: モジュールのMainクラスを実行して、IDEからコードを直接実行しようとしています。 Scalaバージョン2.12.2; Scalateバージョン1.8.0; sbtバージョン0.13.8;