Java 我执行的流程没有';我不能自己完成

Java 我执行的流程没有';我不能自己完成,java,oracle,Java,Oracle,我正在尝试用JAVA从我的应用程序运行导出数据泵(expdp)。问题是expdp过程永远不会结束。 数据泵成功启动、运行和完成,但进程仍在Windows任务管理器中显示为正在运行,导致我的应用程序继续执行。它一直在等待过程结束 到目前为止,这只发生在这个特定的过程(expdp)中。我尝试了一些.bat脚本,它们运行得非常好 } public class DataPump { private static Date date = new Date(); static DateFormat

我正在尝试用JAVA从我的应用程序运行导出数据泵(expdp)。问题是expdp过程永远不会结束。 数据泵成功启动、运行和完成,但进程仍在Windows任务管理器中显示为正在运行,导致我的应用程序继续执行。它一直在等待过程结束

到目前为止,这只发生在这个特定的过程(expdp)中。我尝试了一些.bat脚本,它们运行得非常好

}

public class DataPump {

private static Date date = new Date();

static DateFormat hourFormat = new SimpleDateFormat("HHmm");
static DateFormat dateFormat = new SimpleDateFormat("MMddyyyy");

private static String comando="expdp";
private static String user="user/***********@DB1";
private static String schemas="schemas=ADMIN";
private static String directory="directory=BACKUPS";
private static String dumpfile="dumpfile=Backup_" + dateFormat.format(date) + "_" + hourFormat.format(date) + ".dmp";
private static String logfile="logfile=Backup_" + dateFormat.format(date) + "_" + hourFormat.format(date) + ".log";
private static String parallel ="parallel=4";

public static void expdp() {
    try {
        Process p = new ProcessBuilder(comando, user, schemas, directory, dumpfile, logfile, parallel).start();

        p.waitFor();

    }
    catch (Exception e) {
        JOptionPane.showMessageDialog(null, e.getMessage());
        e.printStackTrace();
    }

    JOptionPane.showMessageDialog(null, "the export datapump finished");
}