【问题标题】:SocketTimeoutException when Ant building in Eclipse在 Eclipse 中构建 Ant 时出现 SocketTimeoutException
【发布时间】:2016-03-03 15:26:50
【问题描述】:

我在让 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)

other 人们在 Stackoverflow 上问过的问题。

我注意到的另一件奇怪的事情是,控制台正上方有一行文字显示哪个java 显示正在使用的java 的版本,并且工作脚本与不工作脚本不同。工作的 ant 构建脚本使用的是 jdk1.7.0_79,而失败的构建脚本使用的是安装的 /System 1.6。

【问题讨论】:

    标签: java eclipse ant


    【解决方案1】:

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

    JRE version less than 1.7 is not supported. 
    

    所以谁知道为什么一开始就选择了 1.6(可能项目本身就是 1.6)或者为什么它没有给我警告!

    无论如何,我上面发布的错误似乎有几个原因,但这里有一些你可以尝试的。

    【讨论】:

      【解决方案2】:

      在 Eclipse Oxygen、Java 1.8 和 Ant 部署到 tomcat7 时遇到了几乎相同的问题。 Eclipse 的控制台不输出任何错误消息。当我在 build.xml 文件上单击 Run Ant 时,它只是说“终止”。见鬼

      为了解决这个问题,我必须将所有内容都设置为 java 1.8,尤其是 ant 的运行时 JRE。但是“Java Compiler”->“Compiler compliance level”只能设置为java 1.7。 其实很简单。好吧,类路径设置有时会很棘手;)尤其是没有任何错误消息。

      不要忘记检查您的 ANT_HOME 设置:Eclipse -> Prefs -> Runtime -> “Restore Defaults” 就足够了。 (Eclipse 自带 Ant 1.10.1 作为默认版本,运行时需要 Java8。)

      并且:如果它仅适用于某些 build.xml 文件,则您将使用 ant-build 过程覆盖您的工作区设置。要解决这个问题:点击“Run As” -> „Ant Build ...“(不是“Ant Build”)并检查您的类路径(对于 ant)和 Java 1.8 的 JRE 设置

      问候

      只需检查您的 ANT_HOME 设置。

      【讨论】:

      • Eclipse Oxygen 的类似解决方案,但我刚刚下载了独立的 Ant 1.9.9 并将 ANT_HOME 切换到指向它并且一切都再次工作,所以从我的 POV 来看,它似乎是 Oxygen 和内置的问题在 Ant 1.10 中。
      猜你喜欢
      • 2017-06-03
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多