Apache Ant安装错误的解决方法
问题内容:
有人可以帮忙提供有关Windows中Apache Ant安装错误的变通方法的说明吗?
下面的代码段描述了三种解决方法之一。如果您能够成功使用其中之一,可以分享一下吗?
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696
(1)使用-Djava.net.preferIPv4Stack = true运行-为Java二进制文件添加防火墙例外。
(2)使用-Djava.net.preferIPv4Stack = true(禁用IPv6并仅使用AF_INET套接字)运行
(3)或禁用防火墙中的有状态FTP检查(注册表设置或netsh命令)
============
建立:
安装Apache Ant:
-
在http://ant.apache.org/下载二进制文件
-
导航至以下路径以获取安装说明:手册>安装Apache Ant>获取Ant> ..按照说明进行操作
-
将提取的文件夹(包含bin文件夹)移动到C:\ source_code \ apache-ant-1.8.3 \或%ANT_HOME%环境变量中使用的目录中
-
Windows 7>控制面板>系统>单击“环境变量”按钮>
(删除环境变量上的尾随“ \”字符)
-
在“系统变量”部分下,单击“添加”>变量名称:JAVA_HOME变量值:C:\ Program Files \ Java \ jdk1.7.0_02
-
在“系统变量”部分下,单击“添加”>变量名称:ANT_HOME变量值:C:\ source_code \ apache-ant-1.8.3
-
在“系统变量”部分下,单击“路径”环境变量,单击“编辑”>变量名称:路径变量值:{编辑前的值};%JAVA_HOME%\ bin;%ANT_HOME%\ bin;
-
重新启动命令提示符(以管理员身份运行)
-
确保Windows看到Apache Ant:
C:\ source_code \ apache-ant-1.8.3> ant -version Apache
Ant(TM)1.8.3版本,于2012年2月26日编译
- 导航到http://ant.apache.org/ >手册>安装Apache Ant>安装Ant>
========================
FTP错误:
C:\source_code\apache-ant-1.8.3>ant -f fetch.xml -Ddest=system
Buildfile: C:\source_code\apache-ant-1.8.3\fetch.xml
pick-dest:
[echo] Downloading to C:\source_code\apache-ant-1.8.3\lib
...
-fetch-netrexx:
[ftp] getting files
BUILD FAILED
C:\source_code\apache-ant-1.8.3\fetch.xml:325: The following error occurred whil
e executing this line:
C:\source_code\apache-ant-1.8.3\fetch.xml:144: java.net.SocketException: Permiss
ion denied: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:150)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:273)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
at org.apache.commons.net.telnet.TelnetInputStream.__read(TelnetInputStr
eam.java:114)
at org.apache.commons.net.telnet.TelnetInputStream.run(TelnetInputStream
.java:535)
at java.lang.Thread.run(Thread.java:722)
Total time: 3 seconds
C:\source_code\apache-ant-1.8.3>
==============
我尝试制定入站和出站Windows防火墙规则以允许该程序通过。
%ProgramFiles%\Java\jdk1.7.0_02\bin\java.exe
我还尝试使用在解决方法中提到的参数运行命令。
C:\source_code\apache-ant-1.8.3>ant -f fetch.xml -Ddest=system -Djava.net.preferIPv4Stack=true
问题答案:
从Windows命令提示符(以管理员身份运行)中运行此命令,以作为一种解决方法来禁用状态FTP筛选,以便Windows防火墙不会阻止FTP通信。
netsh advfirewall set global StatefulFtp disable