Java8の参考書でEclipseを使って勉強しています。
以下のC:\pleiades\eclipse\JavaFX_topic\src\topic22\execprog.javaコードを実行すると、
コンソール画面には
「起動しました。」
「終了しました。」と出て終了します。
「起動しました。」のあとにC:\pleiades\eclipse\JavaFX_topic\bin\topic18\AnimeClock.class
が実行されて
「AnimeClock」が表示されると思われますが、表示されないで終了します。
下が期待される実行結果です。
コード内4行目: String cmdline = "java AnimeClock"; あたりの設定が間違っていそうなのですが、どうしたらいいかわかりません。
C:\pleiades\eclipse\JavaFX_topic\src\topic22\execprog.java
C:\pleiades\eclipse\JavaFX_topic\src\topic18\AnimeClock.java
C:\pleiades\eclipse\JavaFX_topic\bin\topic22\execprog.class
C:\pleiades\eclipse\JavaFX_topic\bin\topic18\AnimeClock.class
C:\pleiades\eclipse\JavaFX_topic\bin\topic18\AnimeClock$1.class
と出ます。
各々のtopic18にはAnimeClock.classとtopic22にはexecprog.classができています。
よろしくおねがいいたします。
Java
1package topic22; 2 3import java.io.IOException; 4 5public class execprog { 6 7 public static void main(String[] args) { 8 9 String cmdline = "java AnimeClock"; // 実行するコマンドライン 10 11 try { 12 13 Process proc = Runtime.getRuntime().exec(cmdline); 14 15 System.out.println("起動しました。"); 16 17 proc.waitFor(); // 終了を待つ 18 19 System.out.println("終了しました。"); 20 21 } catch( SecurityException e) { 22 23 System.out.println("セキュリティマネージャがサブプロセスの作成を許可しません。"); 24 25 } catch( IOException e ) { 26 27 System.out.println("入出力エラーが発生しました。"); 28 29 } catch( NullPointerException e ) { 30 31 System.out.println("コマンドラインがnullです。"); 32 33 } catch( IllegalArgumentException e ) { 34 35 System.out.println("コマンドが指定されていません。"); 36 37 } catch( Exception e ) { 38 39 System.out.println("エラーです。" + e.getMessage()); 40 41 } 42 } 43} 44
回答1件
あなたの回答
tips
プレビュー