蚂蚁、jvmarg、系统属性和报价
2022-09-04 02:53:48
我们有一个属性,其中包含一系列要在 Ant 脚本中传递给 JVM 的参数。
示例(请注意第二个条目中的引号):
-Dsql.driver=oracle.jdbc.driver.OracleDriver -Dapp.datasource-properties=URL='jdbc:oracle:thin:@//192.168.56.42:1521/xe':User=user:Password=password
如果我打印带有目标的变量的内容,我得到预期的结果echo
<echo message="${jvm.arguments}"/>
生产
-Dsql.driver=oracle.jdbc.driver.OracleDriver -Dapp.datasource-properties=URL='jdbc:oracle:thin:@//192.168.56.42:1521/xe':User=user:Password=password
然后,我将该变量用作 JVM 的参数。
例:
<junit fork="true" forkmode="once" showoutput="true" printsummary="on">
<jvmarg
line="-XX:MaxPermSize=256m -Xms1024M ${jvm.arguments}"
引号被静默删除。蚂蚁的冗长输出给了我
[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'
如何将系统属性传递给包含引号的 JVM?(单或双)?
我尝试转义它们,使用双引号没有效果。