Chúng tôi có một thuộc tính chứa một loạt đối số được chuyển đến JVM trong tập lệnh Ant.Ant, jvmarg, thuộc tính hệ thống và báo giá
Ví dụ (chú ý dấu ngoặc kép trong entry thứ hai):
-Dsql.driver=oracle.jdbc.driver.OracleDriver -Dapp.datasource-properties=URL='jdbc:oracle:thin:@//192.168.56.42:1521/xe':User=user:Password=password
Nếu tôi in các nội dung của biến với echo
mục tiêu tôi nhận được kết quả mong đợi
<echo message="${jvm.arguments}"/>
sản xuất
-Dsql.driver=oracle.jdbc.driver.OracleDriver -Dapp.datasource-properties=URL='jdbc:oracle:thin:@//192.168.56.42:1521/xe':User=user:Password=password
Sau đó, tôi sử dụng biến làm đối số cho JVM.
Ví dụ:
<junit fork="true" forkmode="once" showoutput="true" printsummary="on">
<jvmarg
line="-XX:MaxPermSize=256m -Xms1024M ${jvm.arguments}"
Các dấu ngoặc kép đang âm thầm gỡ bỏ. Sản lượng tiết của Ant cung cấp cho tôi
[junit] Executing '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java' with arguments:
[junit] '-XX:MaxPermSize=256m'
[junit] '-Xms1024M'
[junit] '-Dsql.driver=oracle.jdbc.driver.OracleDriver'
[junit] '-Dapp.datasource-properties=URL=jdbc:oracle:thin:@//192.168.56.42:1521/xe:User=user=password'
Làm cách nào để chuyển thuộc tính hệ thống cho JVM có dấu ngoặc kép? (đơn hoặc đôi)?
Tôi đã cố gắng thoát chúng, sử dụng dấu ngoặc kép không có hiệu lực.