在Eclipse中构建Ant时SocketTimeoutException

amo*_*mos 4 java eclipse ant

我一直在让Eclipse构建一些Ant脚本时遇到问题(有些构建得很好,有些则没有)。基本上,在Eclipse Mars.1 Release(4.5.1)控制台中没有任何输出。build.xml在命令行上运行ant时,我的工作正常。我可以workspace/.metadata/.log在以下错误消息所在的位置找到一些输出:

!ENTRY org.eclipse.ant.launching 4 120 2016-03-03 09:58:38.197
!MESSAGE Error logged from Ant UI: 
!STACK 0
java.net.SocketTimeoutException: Accept timed out
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
    at java.net.ServerSocket.implAccept(ServerSocket.java:545)
    at java.net.ServerSocket.accept(ServerSocket.java:513)
    at org.eclipse.ant.internal.launching.launchConfigurations.RemoteAntBuildListener$ServerConnection.run(RemoteAntBuildListener.java:89)
Run Code Online (Sandbox Code Playgroud)

其他人在Stackoverflow上询问了哪些内容。

我注意到的另一个奇怪的事情是,在控制台上方有一行文本java,显示了java所使用的版本,并且工作脚本与不工作脚本不同。使用有效的蚂蚁生成脚本,jdk1.7.0_79而使用失败的使用已/System安装的1.6。

amo*_*mos 5

我不知道为什么Java 1.6不适用于我,但是最终我找到了可以在Java上更改蚂蚁构建的地方。在Run/External Tools/External Tools Configuration.../<select failing build>/JRE。奇怪的是,在使其运行并尝试切换回1.6之后,在运行ant时它会给我以下消息:

JRE version less than 1.7 is not supported. 
Run Code Online (Sandbox Code Playgroud)

所以谁知道为什么首先选择1.6(也许项目本身就是1.6),或者为什么它没有给我警告呢?

无论如何,似乎是我上面发布的错误的多种原因,但是您可以尝试以下方法。