Apache Ant安装错误的解决方法

有人可以请帮忙指导一下解决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 

如文档中所述 – 在修改防火墙设置或手动下载依赖关系的情况下执行作业!