No.
Bạn không thể chuyển đối số sẽ được sử dụng bên trong tệp xây dựng theo cách đó. ant bootstrap arg1 arg2 arg3
sẽ được giải quyết khi bạn đang cố gọi các mục tiêu sau bootstrap
, arg1
, arg2
, arg3
- và, rõ ràng, chỉ có mục tiêu bootstrap
tồn tại.
Nếu bạn muốn chuyển đối số sẽ được sử dụng trong tệp xây dựng, bạn cần sử dụng định dạng -DpropertyName=value
. Ví dụ:
ant bootstrap -Darg1=value1 -Darg2=value2 -Darg3=value3
Cách khác, bạn có thể viết tập lệnh nhúng trong tệp xây dựng (như beanshell hoặc javascript, với lib hỗ trợ tập lệnh kiến) để xử lý đối số lúc đầu. Ví dụ, bạn có thể vượt qua các đối số theo cách này:
ant bootstrap -Dargs=value1,value2,value3,...
và bây giờ bạn có một tài sản mang tên args
với giá trị "value1, value2, value3, ..." (đối với ... Tôi có nghĩa là người dùng có thể nhập nhiều hơn 3 giá trị). Bạn có thể sử dụng beanshell chia args
-arg1
, arg2
và arg3
bởi ,
, và cũng có thể làm một số kiểm tra ...
<script language="beanshell" classpathref="classpath-that-includes-the-beanshell-lib">
String[] args = project.getProperty("args").split(",");
project.setUserProperty("arg1", args[0].trim());
project.setUserProperty("arg2", args[1].trim());
project.setUserProperty("arg3", args[2].trim());
</script>
cảm ơn vì giải thích rõ ràng. nhưng bây giờ tôi phải suy nghĩ lại về giải pháp của mình. –