在我的Ant skript中,我正在执行一个程序,传递一些参数,其中一个是一个很长的论点:
<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>
我如何将第三个参数分成多行,因此ant-skript更具可读性(更低的线宽)?像这样的东西(\只是一个占位符来展示我需要的东西):
<exec executable="command">
<arg line="--property PROP1:\\"/>
<arg line="PROP2:\\"/>
<arg line="PROP3\\"/>
</exec>
因此,当Ant执行此操作时,它应该导致以下命令:
command --property PROP1:PROP2:PROP3
我怎么能意识到这一点?
答案 0 :(得分:5)
arg line
。请改用arg value
。从文档中查看此示例。如果你这样做,世界将变得更加幸福和安全。
<target name="help">
<exec executable="cmd">
<arg value="/c"/>
<arg value="ant.bat"/>
<arg value="-p"/>
</exec>
</target>
答案 1 :(得分:1)
你可以试试这个:
<path id="exec.parms" >
<pathelement path="PROP1:" />
<pathelement path="PROP2:" />
</path>
然后在exec中使用它:
<arg pathref="exec.parms" />
您可以在arg中使用值为“--property”的prefix属性来创建以下内容:
--property PROP1:
--property PROP2: