2011-06-28 21 views
5

Tôi đã tạo một dự án thư viện java. Các tệp nhị phân có sẵn tại <project-dir>/bin. Các lớp thi có sẵn tại <project-dir>/bin/com/myproject/test. Tôi cần loại trừ việc lưu trữ các lớp thử nghiệm của mình. Vì vậy, tôi đã viết mã sau:Loại trừ thư mục lớp thử nghiệm để lưu trữ trong Ant

<target depends="build-all" name="build-dist"> 
    <jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/*.class" /> 
</target> 

Điều này làm việc tốt. Nhưng trong kho lưu trữ, thư mục test vẫn có sẵn. Làm thế nào để loại bỏ điều này?

Cảm ơn.

Trả lời

5

Giải pháp tốt nhất là giữ các tệp Java và lớp thử nghiệm trong các thư mục khác nhau. Vì vậy, thay vì biên dịch chúng thành bin, hãy biên dịch chúng theo bước thứ hai vào bin-test. Điều này cũng đảm bảo rằng mã không kiểm tra không thể nhìn thấy các lớp thử nghiệm (quá trình biên dịch sẽ thất bại nếu bạn vô tình nhập một thử nghiệm trong một lớp sản xuất).

5
<jar destfile="app.jar" basedir="bin" excludes="com/myproject/test/" /> 
+2

Không cần dấu sau. Xem: http://ant.apache.org/manual/dirtasks.html#patterns 'Có một "viết tắt": nếu mẫu kết thúc bằng/hoặc \, thì ** được nối thêm'. –

+0

Mẹo hay; Tôi không biết. Tôi đã cập nhật câu trả lời, cảm ơn. –

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