0

我在 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

如何解决此路由错误

请在更新时帮助我解决项目中的路由问题。

4

0 回答 0