1

実行時に別の Java プログラムを起動する必要があります。これが私のコードです

  try {
                                 String cmd2 = "java -jar c:\\test\\deploy\\framework_e_app.jar";

                                 Process p = Runtime.getRuntime().exec(cmd2);  
                                 BufferedReader in = new BufferedReader(  
                                                     new InputStreamReader(p.getInputStream()));  
                                 String line = null;  
                                 while ((line = in.readLine()) != null) {  
                                         System.out.print("<STDOUT>");
                                     System.out.print(line);
                                     System.out.println("</STDOUT>");
                                 }  

                                 InputStream stderr = p.getErrorStream();
                                 InputStreamReader isr = new InputStreamReader(stderr);
                                 BufferedReader br = new BufferedReader(isr);
                                 String line2 = null;
                                 System.out.print("<STDERROR>");
                                 while ( (line2 = br.readLine()) != null)
                                     System.out.print(line2);
                                 System.out.println("</STDERROR>");

                         } catch (IOException e) {  
                             e.printStackTrace();  
                         }

これが機能する唯一の方法ですが、現在のパスで構成ファイルを検索するため、面倒です。

これをcmd2として使用してみました:

String[] cmd2 = new String[4];
cmd2[0] = "cmd";
cmd2[1] = "/C";
cmd2[2] = "cd test\\deploy";
cmd2[3] = "java -jar framework_e_app.jar";

ディレクトリの変更を行うことができませんでした。正しい構文は何ですか? (明らかに、Windows環境にいます)。

4

1 に答える 1

0

CDがくっつかない。各コマンドは異なるプロセスで実行されます。http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec%28java.lang.String []、%20javaのような作業ディレクトリを持つexecの形式を使用します。 lang.String []、%20java.io.File%29

于 2012-11-06T17:32:40.013 に答える