首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache安装Bug的解决方案

Apache安装Bug的解决方案
EN

Stack Overflow用户
提问于 2012-05-06 19:26:40
回答 3查看 3.4K关注 0票数 6

有人能帮助我们了解如何在Windows中解决Apache安装错误的方法吗?

下面的片段描述了三个解决方案之一。如果你能成功地让其中一个工作,你能分享吗?

id=7077696

(1)与-Djava.net.preferIPv4Stack=true一起运行-为Java二进制文件添加防火墙异常。

(2)使用-Djava.net.preferIPv4Stack=true运行(禁用IPv6并只使用AF_INET套接字)

(3)或禁用防火墙中的有状态FTP检查(注册表设置或netsh命令)

============

设置:

安装Apache:

  • http://ant.apache.org/下载二进制文件
  • 导航到此路径以获取安装说明:手动>安装Apache >获取Ant > ..follow指令
  • 将提取的文件夹(包含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
  • 在“系统变量”部分,单击“路径”环境变量,单击“编辑”>变量名称:路径变量值:{value,然后编辑};%JAVA_HOME%\bin;%ANT_HOME%\bin;
  • 重新启动命令提示符(以管理员身份运行)
  • 确保Windows看到Apache: C:\ -version _code\ Apache -Ant-1.8.3>2012年2月26日编译的Ant Apache(TM)版本1.8.3
  • 导航到http://ant.apache.org/ >手动>安装Apache > Installing >

========================

FTP Bug:

代码语言:javascript
复制
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防火墙规则,以允许这个程序通过。

代码语言:javascript
复制
%ProgramFiles%\Java\jdk1.7.0_02\bin\java.exe

我还尝试使用他们在解决方案中提到的参数运行该命令。

代码语言:javascript
复制
C:\source_code\apache-ant-1.8.3>ant -f fetch.xml -Ddest=system -Djava.net.preferIPv4Stack=true
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-06 19:33:15

从Windows命令提示符(以管理员身份运行)运行此命令作为解决办法,禁用有状态FTP筛选,以便Windows防火墙不会阻塞FTP通信。

代码语言:javascript
复制
netsh advfirewall set global StatefulFtp disable
票数 13
EN

Stack Overflow用户

发布于 2013-01-16 16:41:23

MacGyver的解决方案对我的电脑没有用。所以我试了点别的:

我能够使用火狐将NetRexx.zip从ftp://ftp.software.ibm.com/software/awdtools/netrexx/下载到%HOME%/..ant/tempcache/。

然后,我将lib/commons-net.jar重命名为lib/__commons-net.jar__,以便将属性"have.commons.net“设置为false。因此,由于属性为false,所以目标获取-netrexx跳过,而-fetch-netrexx -no-commons跳过,因为文件已经在那里。

我跑了

代码语言:javascript
复制
ant -f fetch.xml -Ddest=system netrexx

这是最后一步通过,所以我的安装已经完成。

剩下的唯一需要做的就是重命名commons-net.jar

票数 0
EN

Stack Overflow用户

发布于 2016-07-13 12:28:42

在我的示例中,将cmd 作为管理员运行,然后执行

代码语言:javascript
复制
ant -f fetch.xml -Ddest=system

正如文档中所描述的,作业不需要修改防火墙设置或手动下载依赖关系!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10473518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档