java.lang.ClassNotFoundException: play.core.server.DevServerStart
java.lang.ClassNotFoundException: play.core.server.DevServerStart
我正在尝试创建一个项目,其中包含 2 个子项目(均为播放应用程序),它们依赖于一个公共库,但我在播放应用程序中遇到了问题运行。
这是我的 build.sbt:
lazy val playDeps = Seq(
ws,
filters,
evolutions,
guice,
"org.scalatestplus.play" %% "scalatestplus-play" % "3.1.1" % Test
)
lazy val slickDeps = Seq(
"com.typesafe.play" %% "play-slick" % "3.0.1",
"com.typesafe.play" %% "play-slick-evolutions" % "3.0.1",
"org.postgresql" % "postgresql" % "42.1.4"
)
lazy val commonDeps = Seq(
"org.scalatest" %% "scalatest" % "3.0.4" % Test
)
lazy val commonSettings = Seq(
organization := "my-org",
scalaVersion := "2.12.4",
javaOptions += "-Dconfig.file=conf/application.dev.conf"
)
lazy val root = (project in file("."))
.enablePlugins(PlayScala)
.aggregate(server, client)
.dependsOn(server, client)
lazy val common = (project in file("common"))
.settings(
name := "my-common",
version := "1.0.0",
libraryDependencies := commonDeps ++ Seq("com.typesafe.play" %% "play-json" % "2.6.7")
)
lazy val server = (project in file("server"))
.enablePlugins(PlayScala)
.dependsOn(common)
.settings(
commonSettings,
name := "my-server",
version := "1.0.0",
libraryDependencies := commonDeps ++ playDeps ++ slickDeps
)
lazy val client = (project in file("client"))
.enablePlugins(PlayScala)
.dependsOn(common)
.settings(
commonSettings,
name := "my-client",
version := "1.1.13",
libraryDependencies := Seq("org.typelevel" %% "cats" % "0.9.0") ++ commonDeps ++ playDeps ++ slickDeps
)
当 运行 应用程序通过切换到服务器项目 project server
和 运行 run
使用时,我收到此错误消息:
[error] java.lang.ClassNotFoundException: play.core.server.DevServerStart
[error] at java.base/java.net.URLClassLoader.findClass(Unknown Source)
[error] at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
[error] at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
[error] at play.runsupport.Reloader$.startDevMode(Reloader.scala:227)
[error] at play.sbt.run.PlayRun$.devModeServer$lzycompute(PlayRun.scala:95)
[error] at play.sbt.run.PlayRun$.devModeServer(PlayRun.scala:79)
[error] at play.sbt.run.PlayRun$.$anonfun$playRunTask(PlayRun.scala:102)
[error] at play.sbt.run.PlayRun$.$anonfun$playRunTask$adapted(PlayRun.scala:65)
[error] at scala.Function1.$anonfun$compose(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219(TypeFunctions.scala:39)
[error] at sbt.std.Transform$$anon.work(System.scala:66)
[error] at sbt.Execute.$anonfun$submit(Execute.scala:262)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:271)
[error] at sbt.Execute.$anonfun$submit(Execute.scala:262)
[error] at sbt.ConcurrentRestrictions$$anon.$anonfun$submitValid(ConcurrentRestrictions.scala:174)
[error] at sbt.CompletionService$$anon.call(CompletionService.scala:36)
[error] at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[error] at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[error] at java.base/java.lang.Thread.run(Unknown Source)
[accuheat-server] $ [error] (Compile / run) java.lang.ClassNotFoundException: play.core.server.DevServerStart
似乎没有使用 PlayScala 插件,这是我第一次尝试在同一个项目中组合 2 个播放应用程序,因此非常感谢任何帮助。
谢谢
所以是因为这样的行:
libraryDependencies := commonDeps ...
在 libraryDependencies 上使用 :=
会导致错误。我不知道为什么,但将其更改为 ++=
有效!
我正在尝试创建一个项目,其中包含 2 个子项目(均为播放应用程序),它们依赖于一个公共库,但我在播放应用程序中遇到了问题运行。
这是我的 build.sbt:
lazy val playDeps = Seq(
ws,
filters,
evolutions,
guice,
"org.scalatestplus.play" %% "scalatestplus-play" % "3.1.1" % Test
)
lazy val slickDeps = Seq(
"com.typesafe.play" %% "play-slick" % "3.0.1",
"com.typesafe.play" %% "play-slick-evolutions" % "3.0.1",
"org.postgresql" % "postgresql" % "42.1.4"
)
lazy val commonDeps = Seq(
"org.scalatest" %% "scalatest" % "3.0.4" % Test
)
lazy val commonSettings = Seq(
organization := "my-org",
scalaVersion := "2.12.4",
javaOptions += "-Dconfig.file=conf/application.dev.conf"
)
lazy val root = (project in file("."))
.enablePlugins(PlayScala)
.aggregate(server, client)
.dependsOn(server, client)
lazy val common = (project in file("common"))
.settings(
name := "my-common",
version := "1.0.0",
libraryDependencies := commonDeps ++ Seq("com.typesafe.play" %% "play-json" % "2.6.7")
)
lazy val server = (project in file("server"))
.enablePlugins(PlayScala)
.dependsOn(common)
.settings(
commonSettings,
name := "my-server",
version := "1.0.0",
libraryDependencies := commonDeps ++ playDeps ++ slickDeps
)
lazy val client = (project in file("client"))
.enablePlugins(PlayScala)
.dependsOn(common)
.settings(
commonSettings,
name := "my-client",
version := "1.1.13",
libraryDependencies := Seq("org.typelevel" %% "cats" % "0.9.0") ++ commonDeps ++ playDeps ++ slickDeps
)
当 运行 应用程序通过切换到服务器项目 project server
和 运行 run
使用时,我收到此错误消息:
[error] java.lang.ClassNotFoundException: play.core.server.DevServerStart
[error] at java.base/java.net.URLClassLoader.findClass(Unknown Source)
[error] at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
[error] at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
[error] at play.runsupport.Reloader$.startDevMode(Reloader.scala:227)
[error] at play.sbt.run.PlayRun$.devModeServer$lzycompute(PlayRun.scala:95)
[error] at play.sbt.run.PlayRun$.devModeServer(PlayRun.scala:79)
[error] at play.sbt.run.PlayRun$.$anonfun$playRunTask(PlayRun.scala:102)
[error] at play.sbt.run.PlayRun$.$anonfun$playRunTask$adapted(PlayRun.scala:65)
[error] at scala.Function1.$anonfun$compose(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219(TypeFunctions.scala:39)
[error] at sbt.std.Transform$$anon.work(System.scala:66)
[error] at sbt.Execute.$anonfun$submit(Execute.scala:262)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:271)
[error] at sbt.Execute.$anonfun$submit(Execute.scala:262)
[error] at sbt.ConcurrentRestrictions$$anon.$anonfun$submitValid(ConcurrentRestrictions.scala:174)
[error] at sbt.CompletionService$$anon.call(CompletionService.scala:36)
[error] at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[error] at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[error] at java.base/java.lang.Thread.run(Unknown Source)
[accuheat-server] $ [error] (Compile / run) java.lang.ClassNotFoundException: play.core.server.DevServerStart
似乎没有使用 PlayScala 插件,这是我第一次尝试在同一个项目中组合 2 个播放应用程序,因此非常感谢任何帮助。
谢谢
所以是因为这样的行:
libraryDependencies := commonDeps ...
在 libraryDependencies 上使用 :=
会导致错误。我不知道为什么,但将其更改为 ++=
有效!