有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在执行jar后继续批处理文件

我正在尝试运行一个批处理脚本,该脚本将创建一个新的glassfish域(v3.1),并在创建之后继续执行一些管理任务,如删除其他目录或将文件复制到新创建的域。问题是,我必须等到glassfish安装脚本完成它的工作。我已尝试使用以下内容创建新窗口:

Start /WAIT "" asadmin --user admin --interactive=false create-domain   --adminport 4848  --instanceport 8080  --nopassword new_domain

并在它之后以相同的方式运行一些简单的命令(如xcopy、rd)。蝙蝠档案。问题是,asadmin脚本完成其工作后,新窗口不会关闭,而是保持打开状态,整个脚本将挂起,等待作业终止。我可以手动关闭它,脚本继续它的流程,但是这个解决方案并不令人满意。我甚至试图修改asadmin。bat脚本,用于在创建后以这种方式强制关闭:

%JAVA% -jar "%~dp0..\glassfish\modules\admin-cli.jar" %* && exit
exit

但这没有帮助


共 (2) 个答案

  1. # 1 楼答案

    正如注释已经建议的,您必须使用call而不是Start,并且您不需要/WAIT标志:

    echo "Start..."
    call asadmin  user admin  interactive=false create-domain    adminport 4848   instanceport 8080   nopassword new_domain
    xcopy something...
    // more
    
  2. # 2 楼答案

    使用call而不是Start

    call asadmin  user admin  interactive=false create-domain    adminport 4848   instanceport 8080   nopassword new_domain
    

    执行完jar后,控制返回到批处理脚本