【发布时间】:2020-07-28 23:28:42
【问题描述】:
自从我的系统在没有警告的情况下关闭电源后,我就一直遇到这个问题。在启动我的机器并启动我的 Ide 以启动项目时,我刚开始看到play.sbt.PlayExceptions$UnexpectedException,这很不寻常。通过类似的解决方案here 进行了检查。我仍然无法使用那里提供的答案解决问题。
Error stack is as follows ::
[service-gateway] $ compile:run
[info] Updating {file:/C:/Users/user/Documents/dev/backend_test_project/service-gateway/}root...
[info] Resolving jline#jline;2.14.5 ...
[info] Done updating.
--- (Running the application, auto-reloading is enabled) ---
[info] p.c.s.AkkaHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
(Server started, use Enter to stop and go back to the console...)
[info] Compiling 5 Scala sources and 5 Java sources to C:\Users\user\Documents\dev\backend_test_project\service-gateway\target\scala-2.12\classes...
[warn] C:\Users\user\Documents\dev\backend_test_project\service-gateway\app\views\swagger.scala.html:43: method current in object Play is deprecated (since 2.5.0):
This is a static reference to application, use DI instead
[warn] url = "@{s"${current.configuration.getString("swagger.api.basepath")
[warn] ^
[warn] C:\Users\user\Documents\dev\backend_test_project\service-gateway\app\views\swagger.scala.html:43: method getString in class Configuration is deprecated (sinc
e 2.6.0): Use get[String] or getAndValidate[String] with reference config entry
[warn] url = "@{s"${current.configuration.getString("swagger.api.basepath")
[warn] ^
[warn] two warnings found
[info] C:\Users\user\Documents\dev\backend_test_project\service-gateway\app\ErrorHandler.java: C:\Users\user\Documents\dev\backend_test_project\service-gateway\app\
ErrorHandler.java uses or overrides a deprecated API.
[info] C:\Users\user\Documents\dev\backend_test_project\service-gateway\app\ErrorHandler.java: Recompile with -Xlint:deprecation for details.
[trace] Stack trace suppressed: run last compile:manipulateBytecode for the full output.
[error] (compile:manipulateBytecode) java.lang.NumberFormatException: For input string: " "
[error] application -
! @7ff5h00md - Internal server error, for (POST) [/cars/create_car?api_key=33%23kadadji%2323423kadad934340] ->
play.sbt.PlayExceptions$UnexpectedException: Unexpected exception[NumberFormatException: For input string: " "]
at play.sbt.run.PlayReload$$anonfun$taskFailureHandler$1.apply(PlayReload.scala:34)
at play.sbt.run.PlayReload$$anonfun$taskFailureHandler$1.apply(PlayReload.scala:27)
at scala.Option.map(Option.scala:145)
at play.sbt.run.PlayReload$.taskFailureHandler(PlayReload.scala:27)
at play.sbt.run.PlayReload$.compileFailure(PlayReload.scala:23)
at play.sbt.run.PlayReload$$anonfun$compile$1.apply(PlayReload.scala:50)
at play.sbt.run.PlayReload$$anonfun$compile$1.apply(PlayReload.scala:50)
at scala.util.Either$LeftProjection.map(Either.scala:377)
at play.sbt.run.PlayReload$.compile(PlayReload.scala:50)
at play.sbt.run.PlayRun$$anonfun$playRunTask$1$$anonfun$apply$2$$anonfun$apply$3$$anonfun$3.apply(PlayRun.scala:73)
Caused by: java.lang.NumberFormatException: For input string: " "
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:578)
at java.lang.Long.parseLong(Long.java:631)
at scala.collection.immutable.StringLike$class.toLong(StringLike.scala:230)
at scala.collection.immutable.StringOps.toLong(StringOps.scala:31)
at com.typesafe.play.sbt.enhancer.PlayEnhancer$$anonfun$bytecodeEnhance$1$$anonfun$apply$2.apply(PlayEnhancer.scala:58)
at com.typesafe.play.sbt.enhancer.PlayEnhancer$$anonfun$bytecodeEnhance$1$$anonfun$apply$2.apply(PlayEnhancer.scala:48)
at com.typesafe.play.sbt.enhancer.PlayEnhancer$$anonfun$scopedSettings$2.apply(PlayEnhancer.scala:38)
at com.typesafe.play.sbt.enhancer.PlayEnhancer$$anonfun$scopedSettings$2.apply(PlayEnhancer.scala:34)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
我没有对我的项目代码进行任何更改。下面提供了构建工具的版本(Maven 和 SBT)和 Java 版本。
**I am using Java Version :
C:\Users\user>java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)**
SBT version
**[service-gateway] $ version
[info] 1.0**
I am also using maven :
**Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)**
【问题讨论】:
-
您没有提供足够的信息。该问题与此处的 POST 请求有关,因为错误消息表明:
/cars/create_car在我看来,您在某处传递了无效的有效负载,应该对此进行调查。如果数字字段不是应有的值,则向字段添加验证以添加描述性错误消息可能是个好主意。 -
在我的电脑关机之前,导致该问题的同一条路线运行良好。在此之前,我修复了与验证错误相关的问题。我也测试了所有其他路线。同样的问题。事实上我决定访问127.0.0.1:9000,我仍然得到同样的异常。检查所有其他路线使我得出结论,该问题与发布请求无关。