Eclipseから実行されている次のスニペットを検討してください。
外部jarファイルが存在しない場合でも、例外はスローprocess
されず、nullではありません。なんでそうなの?
try {
Process process = Runtime.getRuntime().exec("java -jar NonExisting.jar");
if (process == null)
System.out.println("process = null");
else
System.out.println(process);
} catch (IOException e) {
System.err.println(e);
}
印刷します
java.lang.ProcessImpl@1a4d139
コマンドラインから手動で実行すると、エラーが発生します。
C:\Users\workspace\Project\src>java -jar NonExisting.jar
Error: Unable to access jarfile NonExisting.jar