在我的本地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)
答案 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