所以我有一个简单的 java 程序,它打印一条消息并要求用户输入。该程序运行良好,直到我尝试通过 ant 运行它。
当我使用下面的构建文件时,程序从不打印消息。
当我使用 ant -verbose 运行时,它说“可执行文件和参数周围的 ' 字符不是命令的一部分”
我在构建文件中做错了什么?我很困惑,因为这个构建文件适用于不要求用户输入的程序。
<project name="lab4" default="run" basedir=".">
<property name="src" value="."/>
<target name="clean">
<delete>
<fileset dir="${src}" includes="**/*.class,META-INF,*/**.jar"/>
</delete>
</target>
<target name="compile" depends="clean">
<javac srcdir="${src}" destdir="${src}" includes="**/*.java" includeantruntime="false"/>
</target>
<target name="run" depends="compile">
<java classpath="${src}" classname="CountLetters1" failonerror="yes"/>
</target>
</project>
最佳答案
从评论中总结问题的“解决方案”:
这里的问题似乎是程序在其输入提示中没有包含换行符。这会导致 Ant 不显示提示(它正在等待换行符)。
除此之外,该示例实际上运行良好。
关于从 Ant 运行时需要输入的 Java 程序不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12556113/