问题
I have a code:
import javax.swing.SwingUtilities;
import java.io.File;
import java.io.IOException;
class RunIt{
if (args.length==0) {
ProcessBuilder pb = new ProcessBuilder("java","-Xmx768m","RunIt","anArgument");
pb.directory(new File("."));
try {
Process process = pb.start();
}
catch(IOException e) {
e.printStackTrace();
}
System.exit(0);
}
SwingUtilities.invokeLater(new Runnable(){public void run(){new classWithJFrameInConstructor();}});
}
import JFrame;
class classWithJFrameInConstructor{
JFrame frame;
classWithJFrameInConstructor(){
frame=new JFrame();
frame.setVisible(true);
}
}
Where classWithJFrameInConstructor is class where JFrame is created and set visible in class constructor
If I compile it normally using javac
it works well. But if I compile it in NetBeans no windows is run.
The problem part is:
System.exit(0);
If this code is missing builds from javac
runs two app windows. Vice versa NetBeans build runs normally.
来源:https://stackoverflow.com/questions/34015537/diffreren-behaviour-of-processbuilder-in-javac-and-netbeands-builds