Если у вас есть готовый файл JAR, вы можете сделать эту цель:
<target name="runJar">
<java jar="/home/phil/application.jar" failonerror="true" fork="true" inputstring="">
<arg value="arg1" />
<arg value="arg2" />
<arg value="arg3" />
</java>
</target>
Если вам нужно скомпилировать, затем запустить, а затем выстрелить:
<target name="buildJava">
<javac srcdir="srcDir" destdir="binDir" />
</target>
<target name="runJava" depends="buildJava">
<java classname="classname" failonerror="true" fork="true" inputstring="">
<arg value="arg1"/>
<arg value="arg2"/>
<arg value="arg3"/>
<classpath>
<pathelement path="binDir"/>
</classpath>
</java>
</target>
failonerror
указывает, что если вы сделаете System.exit(1)
, это приведет к сбою сборки.
Изменить, чтобы добавить вывод
У меня был класс, который первым делом выкладывал аргументы в скобках при входе в класс, так что вы можете видеть, что он обрабатывает пробелы так, как вы хотите. Я использовал arg1
как "arg1 2 3"
buildJava:
runJava:
[java] Arg = [arg1 2 3]
[java] Arg = [arg2]
[java] Arg = [arg3]