Невозможно развернуть веб-приложение Scala - PullRequest
1 голос
/ 01 апреля 2020

Я пытаюсь развернуть простое веб-приложение, созданное с использованием Play Framework с Scala. Приложение работает нормально, когда я запускаю приложение с помощью команды sbt run, однако при попытке развернуть приложение на локальном сервере с помощью команды sbt dist появляется следующее сообщение

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/D:/Scala/SomeDomain/SomeProject/target/universal/SomeProject-1.0-SNAPSHOT/lib/com.google.inject.guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Oops, cannot start the server.
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error injecting constructor, java.io.IOException: Dictionary directory does not exist: D:\Scala\SomeDomain\SomeProject\target\universal\SomeProject-1.0-SNAPSHOT\bin\dict
  at initializer.ServiceInitializer.<init>(ServiceInitializer.scala:11)
  at initializer.ApplicationInitializer.configure(ApplicationInitializer.scala:12) (via modules: com.google.inject.util.Modules$OverrideModule -> initializer.ApplicationInitializer)
  while locating initializer.ServiceInitializer

Я использую Windows, я извлек сгенерированный файл .zip и выполнил файл .bat из каталога /bin.

build.sbt


version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala, LauncherJarPlugin)

scalaVersion := "2.12.10"

libraryDependencies += guice
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "5.0.0" % Test
libraryDependencies += "postgresql" % "postgresql" % "9.1-901-1.jdbc4"

plugins.sbt

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.0")
addSbtPlugin("org.foundweekends.giter8" % "sbt-giter8-scaffold" % "0.11.0")

1 Ответ

1 голос
/ 02 апреля 2020

Похоже, что какой-то компонент вашего приложения ожидает, что каталог существует:

java.io.IOException: Dictionary directory does not exist: D:\Scala\SomeDomain\SomeProject\target\universal\SomeProject-1.0-SNAPSHOT\bin\dict

Убедитесь, что вы создали каталог или добавили отсутствующие файлы в свой каталог. расстояние.

...