Play应用程式中的规格/速度互动问题
我有一个问题我真的不能解释…在
https://github.com/betehess/play-scalatest项目中是孤立的.
当我运行测试时,sbt被卡住了一段时间,然后抛出这个异常: > test [error] Uncaught exception when running tests: java.net.ConnectException: Connection timed out Exception in thread "Thread-1" java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:196) at java.net.SocketInputStream.read(SocketInputStream.java:122) at java.net.SocketInputStream.read(SocketInputStream.java:210) at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2293) at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2473) at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2543) at java.io.ObjectInputStream$BlockDataInputStream.skipBlockData(ObjectInputStream.java:2445) at java.io.ObjectInputStream.skipCustomData(ObjectInputStream.java:1941) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1620) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990) at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500) at java.lang.Throwable.readObject(Throwable.java:914) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) at sbt.React.react(ForkTests.scala:117) at sbt.ForkTests$$anonfun$mainTestTask$1$Acceptor$2$.run(ForkTests.scala:76) at java.lang.Thread.run(Thread.java:745) 看起来sbt被困在一个阻止呼叫与分叉的环境在https://github.com/sbt/sbt/blob/0.13.5/main/actions/src/main/scala/sbt/ForkTests.scala#L117. 一些言论: >我运行Ubuntu 13.10和Java HotSpot(TM)64位“1.7.0_65” 解决方法
我终于找到了发生了什么事情.
事实证明,在正确的设置下,sbt将分支JVM执行测试,并希望与之进行通信.这样做是否符合测试框架.在最大的情况下,两个进程之间的通信将通过服务器进行. scalatest只是传达sbt必须使用的服务器地址和端口.这正在发生there. val array = Array(InetAddress.getLocalHost.getHostAddress,skeleton.port.toString) 现在,去阅读javadoc对InetAddress#getLocalHost的说法:
我在Linux上我的本地主机(从来不是本地主机)最终被愚弄.现在,由于某种原因(我在家里搞砸我的网络),我的/ etc / hosts正在为dopey分配一个假的地址.所以,而不是像127.0.0.1这样的东西,scalatest会尝试在这个虚构的服务器上打开一个套接字.而由于where this is happening,在stacktrace中没有任何帮助. 我的猜测是,意图总是使用127.0.0.1 … (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |