den*_*nys 12 java netbeans maven
我正在使用Netbeans和Maven开发应用程序.我的应用程序应该从stdin获取数据.但我无法理解如何测试它.把< data.txt进入的args列表不起作用.
我需要同样的:
$ java MyProgram < data.txt
Run Code Online (Sandbox Code Playgroud)
khm*_*ise 11
我假设你有这样的事情:
public static void main(String[] args) {
...
}
Run Code Online (Sandbox Code Playgroud)
这可以用作应用程序的入口点,在此之前您可以通过以下方式更改输入通道:
FileInputStream is = new FileInputStream(new File("test.data"));
System.setIn(is);
Run Code Online (Sandbox Code Playgroud)
以上内容可用于单元/集成测试.
这可以通过将您自己的运行目标添加到项目的build.xml文件中来完成.例如:
<target name="run" depends="jar">
<exec dir="${work.dir}" executable="java" input="${work.dir}/inputfile.txt">
<arg value="-jar"/>
<arg file="${dist.jar}"/>
</exec>
</target>
Run Code Online (Sandbox Code Playgroud)
请注意,如果为项目关闭"保存时编译"功能,则"运行","调试"和"测试"等命令仅使用自定义build.xml.因此,您需要确保在项目的属性中关闭"保存时编译".
| 归档时间: |
|
| 查看次数: |
10247 次 |
| 最近记录: |