有人可以请帮忙指导一下解决Windows中的Apache Ant安装错误吗?
下面的代码段描述了三种解决方法之一。 如果你能够成功地让其中的一个工作,你可以分享吗?
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696
(1)使用-Djava.net.preferIPv4Stack = true运行 – 为Java二进制文件添加防火墙exception。
(2)使用-Djava.net.preferIPv4Stack = true运行(禁用IPv6并专门使用AF_INET套接字)
(3)或者在防火墙中禁用有状态的FTP检查(registry设置或netsh命令)
============
build立:
安装Apache Ant:
在http://ant.apache.org/下载二进制文件
导航至此path以获取安装说明:手动>安装Apache Ant>获取Ant> ..关注说明
将%ANT_HOME%环境variables中使用的C:\ source_code \ apache-ant-1.8.3 \或目录中的提取文件夹(包含bin文件夹)
Windows 7>控制面板>系统>单击“环境variables”button>
(删除环境variables的尾随“\”字符)
在“系统variables”部分,单击“添加”>variables名称:JAVA_HOMEvariables值:C:\ Program Files \ Java \ jdk1.7.0_02
在“系统variables”部分,点击“添加”>variables名:ANT_HOMEvariables值:C:\ source_code \ apache-ant-1.8.3
在“系统variables”部分,点击“path”环境variables,点击“编辑”>variables名称:pathvariables值:{编辑前值};%JAVA_HOME%\ bin;%ANT_HOME%\ bin;
重启命令提示符(以pipe理员身份运行
确保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
MacGyver的解决方案不适用于我的电脑在工作。 所以我尝试了其他的东西:
我能够从ftp://ftp.software.ibm.com/software/awdtools/netrexx/下载NetRexx.zip到%HOME%/。ant / tempcache /使用firefox。
然后,我将lib/commons-net.jar
重命名为lib/__commons-net.jar__
,以将属性“have.commons.net”设置为false。 因此,目标-fetch-netrexx会跳过,因为该属性为false,而-fetch-netrexx-no-commons-net会跳过,因为该文件已经存在。
我跑了
ant -f fetch.xml -Ddest=system netrexx
这是通过的最后一步,所以我的安装完成。
唯一剩下的事情就是重新命名commons-net.jar
在我的情况下, 以管理员身份运行cmd ,然后执行
ant -f fetch.xml -Ddest=system
如文档中所述 – 在不修改防火墙设置或手动下载依赖关系的情况下执行作业!