java.lang.NumberFormatException:对于输入字符串:“”(运行`sbt test`时出错)

时间:2017-07-26 22:50:42

标签: java scala testing playframework-2.3

在我的本地Mac OS(Mountain Lion)上,我运行sbt test就好了,测试编译/传递了Play 2.3.x,Scala(2.10.x)。我本地的Java版本是“1.8.0_131”。

重新映像我的Mac OS X(10.12.3)后,我在为相同的代码库(Play,Scala,Java版本仍然相同)运行“sbt test”时开始收到一个非常奇怪的错误。

可能这可能与我的Mac升级无关,但这是我能想到的唯一变量(变更)。

如果有人可以快速指出我可能的原因,我真的很感激吗?

错误堆栈跟踪看起来像

[error]    NumberFormatException: : For input string: ""  (ProxyUtils.java:159)
[error] com.ning.http.util.ProxyUtils.createProxyServerSelector(ProxyUtils.java:159)
[error] com.ning.http.client.AsyncHttpClientConfig$Builder.build(AsyncHttpClientConfig.java:1132)
[error] play.api.libs.ws.ning.NingAsyncHttpClientConfigBuilder.build(NingAsyncHttpClientConfigBuilder.scala:37)
[error] play.api.libs.ws.ning.NingWSAPI.buildAsyncClientConfig(NingWS.scala:563)
[error] play.api.libs.ws.ning.NingWSAPI.newClient(NingWS.scala:520)
[error] play.api.libs.ws.ning.NingWSAPI$$anonfun$client$1.apply(NingWS.scala:543)
[error] play.api.libs.ws.ning.NingWSAPI$$anonfun$client$1.apply(NingWS.scala:540)
[error] play.api.libs.ws.ning.NingWSAPI.client(NingWS.scala:538)
[error] play.api.libs.ws.ning.NingWSAPI.url(NingWS.scala:553)
[error] play.api.libs.ws.WS$.url(WS.scala:129)

3 个答案:

答案 0 :(得分:2)

  

如果有人可以快速指出我的原因,我真的很感激吗?

您只需要查看堆栈跟踪。它可以为您提供原因的“指针”。

例如,在这里,原因在异常的消息中指出,即:

  

输入字符串:“”

这表示一行代码试图解析不包含任何内容的字符串,并抛出异常以指示从字符串到数字的转换失败

可能的原因是某些数据导致应用程序在某处重新启动,并在重新映像计算机后进行了更改。通常,纠正可能的方法是重新安装应用

答案 1 :(得分:1)

正如@HatsuPointerKun已经说明的那样。你仍然没有提供足够的信息。

但也许这会有所帮助。看起来,在您的代码库的某些方面,WebApplication发送一个Request over Play WS。 因为它有URL的问题我认为有一些端口问题(我可能会出错)。

根据提供的信息,这是最远的。我可以建议您在Stacktrace向您显示的位置调试代码并调试代码以查看导致问题的值。您可以深入了解堆栈并查看组件的使用位置。

希望这有帮助。

答案 2 :(得分:0)

我知道问题已经解决。如果有人遇到相同问题,请在此处粘贴我的解决方案。

在我的情况下,我已经看到此错误,因为该项目使用的是应该在buildinfo.properties中设置的内部版本号。设置为空,因此在设置buildnumber后出现sbt编译错误,该错误消失了

cat buildinfo.properties 
#Tue Nov 24 21:12:02 EST 2020
buildnumber=

  [info] Set current project to dummy-project (in build file:/home/mly/workspace/dummy-project)
java.lang.NumberFormatException: For input string: ""                                   
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.Integer.parseInt(Integer.java:592)
        at java.lang.Integer.parseInt(Integer.java:615)
        at scala.collection.immutable.StringLike$class.toInt(StringLike.scala:229)
        at scala.collection.immutable.StringOps.toInt(StringOps.scala:31)
        at sbtbuildinfo.BuildInfoPlugin$.readProp$1(BuildInfoPlugin.scala:33)
        at sbtbuildinfo.BuildInfoPlugin$.buildNumberTask(BuildInfoPlugin.scala:39)
        at sbtbuildinfo.BuildInfoPlugin$$anonfun$buildInfoDefaultSettings$5.apply(BuildInfoPlugin.scala:89)
        at sbtbuildinfo.BuildInfoPlugin$$anonfun$buildInfoDefaultSettings$5.apply(BuildInfoPlugin.scala:89)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
[error] (dummy-project/*:buildInfoBuildNumber) java.lang.NumberFormatException: For input string: ""

设置内部版本号时,编译错误将消失

cat buildinfo.properties 
#Tue Nov 24 21:12:02 EST 2020
buildnumber=123