2012-05-06 26 views
6

Có thể ai đó vui lòng trợ giúp với các hướng dẫn giải quyết sự cố về lỗi cài đặt Apache Ant trong Windows không?Giải pháp cho việc cài đặt Apache Ant Lỗi

Đoạn mã dưới đây mô tả một trong ba cách giải quyết. Nếu bạn có thể thành công có được một trong số này để làm việc, bạn có thể xin vui lòng chia sẻ?

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7077696

(1) Chạy với -Djava.net.preferIPv4Stack = true - thêm một ngoại lệ tường lửa cho nhị phân Java.

(2) Chạy với -Djava.net.preferIPv4Stack = true (mà vô hiệu hóa IPv6 và sử dụng ổ cắm AF_INET độc quyền)

(3) Hoặc vô hiệu hóa kiểm tra stateful FTP trong các bức tường lửa (thiết lập registry hoặc lệnh netsh)

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

Setup:

Cài đặt Apache Ant:

  • tải tập tin nhị phân tại http://ant.apache.org/

  • điều hướng đến con đường này để được hướng dẫn cài đặt: Hướng dẫn sử dụng> Cài đặt Apache Ant> Bắt Ant> ..follow hướng dẫn

  • di chuyển thư mục giải nén (chứa thư mục bin) bên trong C: \ source_code \ apache-ant-1.8.3 \ hoặc thư mục được sử dụng trong% ANT_HOME% biến môi trường

  • Windows 7> Bảng điều khiển> Hệ thống> nhấp vào nút "Environment Variables">

(loại bỏ các dấu "\" nhân vật trên các biến môi trường)

  • dưới "System Variables", nhấp vào "Add"> Variable Tên: JAVA_HOME Giá trị biến: C: \ Program Files \ Java \ jdk1.7.0_02

  • trong phần "Biến hệ thống", nhấp "Thêm"> Tên biến: ANT_HOME Giá trị biến: C: \ source_code \ apache- ant-1.8.3

  • trong phần "Biến hệ thống", nhấp vào biến môi trường "Đường dẫn", nhấp vào "Chỉnh sửa"> Tên biến: Giá trị biến đường dẫn: {giá trị trước khi chỉnh sửa};% JAVA_HOME% \ bin;% ANT_HOME% \ bin;

  • dấu nhắc lệnh khởi động lại (Run As Administrator)

  • chắc chắn rằng Windows thấy Apache Ant:

    C: \ source_code \ apache-ant-1.8.3> ant -version Apache Ant (TM) phiên bản 1.8.3 biên soạn trên 26 Tháng 2 2012

  • điều hướng đến http://ant.apache.org/> Hướng dẫn> Cài đặt Apache Ant> Cài đặt Ant>

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

FTP Bug:

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> 

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

Tôi đã thử thực hiện quy tắc Tường lửa Windows trong và ngoài để cho phép chương trình này thông qua.

%ProgramFiles%\Java\jdk1.7.0_02\bin\java.exe 

Tôi cũng đã thử chạy lệnh với tham số mà họ đề cập trong giải pháp thay thế.

C:\source_code\apache-ant-1.8.3>ant -f fetch.xml -Ddest=system -Djava.net.preferIPv4Stack=true 

Trả lời

13

Chạy lệnh này từ dấu nhắc lệnh Windows (Chạy với tư cách quản trị viên) như một giải pháp để vô hiệu hóa lọc FTP trạng thái sao cho Windows Firewall không chặn lưu lượng FTP.

netsh advfirewall set global StatefulFtp disable 
+0

Nó đã hoạt động cho tôi ngay cả khi được bật, nhưng sau 1 giờ vì lý do không xác định, nó không hoạt động bây giờ – Heihachi

+0

@Heihachi - Có thể bạn đã mở lại cửa sổ nhắc lệnh Windows trước khi chạy lại tập lệnh Ant. Đôi khi nó lưu trữ mọi thứ, và để cho một cái gì đó có hiệu lực, nó cần phải khởi động lại. – MacGyver

0

Giải pháp của MacGyver không hoạt động đối với máy tính của tôi tại nơi làm việc. Vì vậy, tôi đã thử một cái gì đó khác:

Tôi đã có thể tải xuống NetRexx.zip từ ftp://ftp.software.ibm.com/software/awdtools/netrexx/ tới% HOME% /. Ant/tempcache/using firefox.

Sau đó, tôi đổi tên lib/commons-net.jar thành lib/__commons-net.jar__, để đặt thuộc tính "have.commons.net" thành false. Vì vậy, mục tiêu -fetch-netrexx bỏ qua vì thuộc tính là sai và -fetch-netrexx-no-commons-net bỏ qua vì tệp đã có ở đó.

Tôi chạy

ant -f fetch.xml -Ddest=system netrexx 

đó là bước cuối cùng để vượt qua, vì vậy tôi cài đặt đã được hoàn tất.

Điều duy nhất còn lại để làm là để đổi tên lại commons-net.jar

0

Trong trường hợp của tôi chạy cmd as administrator và sau đó thực hiện

ant -f fetch.xml -Ddest=system 

như mô tả trong tài liệu hướng dẫn - đã thực hiện công việc mà không cần sửa đổi cài đặt Tường lửa hoặc tải xuống phụ thuộc theo cách thủ công!

Các vấn đề liên quan