Ant exec任务:如何将一个长参数分解为多行
在我的Ant Skcript中,我正在执行一个程序,传递一些参数,其中一个是很长的参数:Ant exec任务:如何将一个长参数分解为多行,ant,Ant,在我的Ant Skcript中,我正在执行一个程序,传递一些参数,其中一个是很长的参数: <exec executable="${conf.GLASSFISH}/bin/asadmin" failonerror="true" vmlauncher="false"> <arg line="create-auth-realm" /> <arg line="--classname com.sun.enterprise.security.auth.realm.jdb
<exec executable="${conf.GLASSFISH}/bin/asadmin" failonerror="true" vmlauncher="false">
<arg line="create-auth-realm" />
<arg line="--classname com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm" />
<arg line="--property jaas-context=${conf.auth.jaas-context}:datasource-jndi=${conf.auth.datasource-jndi}:user-table=${conf.auth.usertable}:user-name-column=${conf.auth.usernamecolumn}:password-column=${conf.auth.passwordcolumn}:group-table=${conf.auth.grouptable}:group-name-column=${conf.auth.groupnamecolumn}:assign-groups=${conf.auth.assigngroups}:digest-algorithm=${conf.auth.digest}" />
<arg line="jdbcRealm" />
</exec>
我怎样才能意识到这一点?您可以尝试以下方法:
<path id="exec.parms" >
<pathelement path="PROP1:" />
<pathelement path="PROP2:" />
</path>
arg行
在Ant中不推荐使用。改用arg值。参见文档中的示例。如果你这样做,世界将变得更幸福、更安全
<target name="help">
<exec executable="cmd">
<arg value="/c"/>
<arg value="ant.bat"/>
<arg value="-p"/>
</exec>
</target>
这样,每个参数都用空格与前一个参数分开。我不想那样。可执行文件的所有参数应连接为一个字符串。我仍然没有找到这样做的可能性。value甚至会将一个空参数传递给可执行文件,而line则不会。这可能是可取的,也可能不是可取的。例如,易变的adb工具无法理解adb“”shell。因此,Android build.xml使用“${adb.device.arg}”的行。这是如何回答问题的?很高兴知道这一点,但它没有帮助,似乎与问题非常无关=>应该是注释,而不是不确定。也许您提到了将命令行参数传递给
,这确实是不赞成的,而赞成使用嵌套Hmm的
,当我这样做时,Ant将我的主目录附加到pathref,导致以下参数:/home/mackaz/arg1:/home/mackaz/arg2,但我希望像arg1:arg2这样的参数在这里对我有用,如果行本身太长而无法“消化”:-((ant 1.9.4):“[exec]Die Befehlszeile ist zu lang.”(命令行太长)
<path id="exec.parms" >
<pathelement path="PROP1:" />
<pathelement path="PROP2:" />
</path>
<arg pathref="exec.parms" />
--property PROP1:
--property PROP2:
<target name="help">
<exec executable="cmd">
<arg value="/c"/>
<arg value="ant.bat"/>
<arg value="-p"/>
</exec>
</target>