我在 sbt 和 scala 项目中从 play 2.2.6 迁移到 2.4.0。sbt 1.3.0 和 scala 2.11.2 版本在执行 sbt run 时会在类路径中出现以下资源未找到错误。
play.api.Configuration$$anon$1: Configuration error[application: application.conf: java.io.IOException: resource not found on classpath: application.conf, application.json: java.io.IOException: resource not found on classpath: application.json, application.properties: java.io.IOException: resource not found on classpath: application.properties]
at play.api.Configuration$.configError(Configuration.scala:158)
at play.api.Configuration$.load(Configuration.scala:104)
at play.api.Configuration$.load(Configuration.scala:112)
at play.api.ApplicationLoader$Context$.create(ApplicationLoader.scala:115)
at play.core.server.DevServerStart$$anon$1.$anonfun$reload$3(DevServerStart.scala:173)
at play.utils.Threads$.withContextClassLoader(Threads.scala:22)
at play.core.server.DevServerStart$$anon$1.reload(DevServerStart.scala:168)
at play.core.server.DevServerStart$$anon$1.get(DevServerStart.scala:127)
at play.core.server.AkkaHttpServer.handleRequest(AkkaHttpServer.scala:253)
at play.core.server.AkkaHttpServer.$anonfun$createServerBinding$1(AkkaHttpServer.scala:149)
Caused by: com.typesafe.config.ConfigException$IO: application: application.conf: java.io.IOException: resource not found on classpath: application.conf, application.json: java.io.IOException: resource not found on classpath: application.json, application.properties: java.io.IOException: resource not found on classpath: application.properties
at com.typesafe.config.impl.SimpleIncluder.fromBasename(SimpleIncluder.java:236)
at com.typesafe.config.impl.ConfigImpl.parseResourcesAnySyntax(ConfigImpl.java:132)
at com.typesafe.config.ConfigFactory.parseResourcesAnySyntax(ConfigFactory.java:979)
at com.typesafe.config.DefaultConfigLoadingStrategy.parseApplicationConfig(DefaultConfigLoadingStrategy.java:36)
at com.typesafe.config.ConfigFactory.defaultApplication(ConfigFactory.java:473)
at play.api.Configuration$.$anonfun$load$5(Configuration.scala:76)
at scala.Option.getOrElse(Option.scala:138)
at play.api.Configuration$.load(Configuration.scala:72)
at play.api.Configuration$.load(Configuration.scala:112)
at play.api.ApplicationLoader$Context$.create(ApplicationLoader.scala:115)
Caused by: com.typesafe.config.ConfigException$IO: application.conf: java.io.IOException: resource not found on classpath: application.conf
at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:188)
at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:174)
at com.typesafe.config.impl.Parseable.parse(Parseable.java:152)
at com.typesafe.config.impl.SimpleIncluder.fromBasename(SimpleIncluder.java:185)
at com.typesafe.config.impl.ConfigImpl.parseResourcesAnySyntax(ConfigImpl.java:132)
at com.typesafe.config.ConfigFactory.parseResourcesAnySyntax(ConfigFactory.java:979)
at com.typesafe.config.DefaultConfigLoadingStrategy.parseApplicationConfig(DefaultConfigLoadingStrategy.java:36)
at com.typesafe.config.ConfigFactory.defaultApplication(ConfigFactory.java:473)
at play.api.Configuration$.$anonfun$load$5(Configuration.scala:76)
at scala.Option.getOrElse(Option.scala:138)
Caused by: java.io.IOException: resource not found on classpath: application.conf
at com.typesafe.config.impl.Parseable$ParseableResources.rawParseValue(Parseable.java:735)
at com.typesafe.config.impl.Parseable$ParseableResources.rawParseValue(Parseable.java:710)
at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:180)
at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:174)
at com.typesafe.config.impl.Parseable.parse(Parseable.java:152)
at com.typesafe.config.impl.SimpleIncluder.fromBasename(SimpleIncluder.java:185)
at com.typesafe.config.impl.ConfigImpl.parseResourcesAnySyntax(ConfigImpl.java:132)
at com.typesafe.config.ConfigFactory.parseResourcesAnySyntax(ConfigFactory.java:979)
at com.typesafe.config.DefaultConfigLoadingStrategy.parseApplicationConfig(DefaultConfigLoadingStrategy.java:36)
at com.typesafe.config.ConfigFactory.defaultApplication(ConfigFactory.java:473)
[error] application -
请在这里帮助我。
lazy val A = project(...)
lazy val B = project(...)
lazy val C = project(...)
lazy val main = project(...).dependsOn(A, B, C and so on ... )
我的问题是根项目目录 conf/routes 文件,因为我的项目以前在根项目目录下没有 conf/routes 文件,因为我遇到了资源未找到之类的错误,因此我添加了 conf/routes 和 conf/application.conf 文件。
路线:
# app/conf/routes
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~
# Home page
GET / module1.controllers.Application.index()
#Add sample_module routes
-> /module1 module1.Routes
-> /module2 module2.Routes
-> /module3 module3.Routes
将 /public 文件夹中的静态资源映射到 /assets URL 路径
GET /assets/*file controllers.Assets.versioned(path="/public", file)
但是在拆分路线后,我面临以下问题:遵循此文档: https ://www.playframework.com/documentation/2.4.x/SBTSubProjects - 拆分路线文件
Errors:
conf/routes:7: object Application is not a member of package controllers
[error] GET / controllers.Application.index()
object Routes is not a member of package polaris.core
[error] -> /core polaris.core.Routes
如何解决此路由错误
请在更新时帮助我解决项目中的路由问题。