为什么’java -version’转到stderr?
有没有什么特别的原因,java转换成stderr的结果?
例如,该命令从Windows的提示符行执行: java -version > java_version.txt 将文件java_version.txt留空. 编辑:执行java.exe后没有任何参数的打印输出也是一样. 编辑:只是出于一种纯粹的好奇心,我检查了它是否一直是这样,事实证明它实际上是. java -version在JDK 1.1.8中也是JDK 1.2.2中的stderr,但是没有任何参数的java.exe的输出没有. 解决方法
AFAIK没有特别的理由.它只是java命令的实现方式. 我的简短调查显示,这与大多数Linux命令行为是否一致…我尝试使用的其他一切都使用了stdout.但是–version / -version选项是一个约定,而不是任何标准所要求的. 你能做什么/应该怎么办? >在shell脚本或批处理文件中应该很容易捕获stderr而不是stdout. 1 – 这里证明是不太可能的:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4380614.请注意“解决方案:不修复”…和最后的评论. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |