私は Java GUI プログラムを持っています。ユーザーが指定されたボタンをクリックするたびに、このプログラムから新しい端末 (GUI を持たない) で別の jar ファイルを実行したいと考えています。誰かがこれを行う方法を提案できますか?
1 に答える
0
新しいターミナルを起動するには、ProcessBuilder または System.exec を使用して新しいプロセスを生成する必要があります。これは、オペレーティング システムとその構成によって異なります。スタンドアロンの jar ファイルを実行する Linux xterm では、次のように開始されます。
File dir = new File("/directory/to/the/jar/file");
String jarName ="standalone.jar";
ProcessBuilder processBuilder = new ProcessBuilder("/usr/bin/xterm","-e","java -jar "+jarName);
processBuilder.directory(dir);
processBuilder.start();
スタンドアロンの jar がない場合は、-cp -parameter を使用して java 実行可能ファイルにクラスパスを指定する必要があります...
別の方法として、個別の ClassLoader を使用し、System.out と System.in をリダイレクトして、指定された jar を実行することもできます。これには、実行中の jar 用にある種の GUI を作成する必要があります。プロセスの出力のみが必要で、端末エミュレーションが必要ない場合、これは難しくありません。System.out をテキストエリアにリダイレクトするだけです。実行のための入力/出力にさらに要件がある場合は、Java で記述された端末エミュレータを使用してこれらのことを行うことができる場合があります。
于 2013-06-16T18:46:52.303 に答える