启动Jar并等待其完成,然后再继续执行批处理脚本

时间:2019-11-20 14:32:20

标签: java windows batch-file

在批处理文件中,我试图等待Java程序完成后再继续。该程序具有GUI界面。

到目前为止,我已经尝试过两者(使用javajavaw

javaw -jar program.jar
start "" /wait javaw -jar program.jar
start "" /wait /b javaw -jar program.jar
call javaw -jar program.jar /wait

两者都继续进行,而无需等待程序完成。

1 个答案:

答案 0 :(得分:0)

Javaw 旨在在 GUI 中运行并分离控制台。 改用 java - 并且不要以 start 或 call 为前缀 - 他们将再次在后台运行这些东西。所以你的电话应该看起来像

struct Home: View {
    @ObservedObject var viewRouter = ViewRouter()
    var tabBarHeight = UITabBarController().tabBar.frame.height
    
    var body: some View {
        GeometryReader {geo in
            VStack(spacing: 0) {
                if self.viewRouter.currentView == "HomeList" {
                    HomeList()
                } else if self.viewRouter.currentView == "Messages" {
                    Messages()
                }else if self.viewRouter.currentView == "Favorites" {
                    Favorites()
                }else if self.viewRouter.currentView == "Search" {
                    Search()
                }else if self.viewRouter.currentView == "Profiles" {
                    Profiles()
                }
                
                HStack{
                    HomeTabItem(viewRouter: self.viewRouter, tabImage: "house", tabText: "HomeTitle", viewName: "HomeList", badgeNumber: 0)
                    HomeTabItem(viewRouter: self.viewRouter, tabImage: "envelope", tabText: "MessagesTitle", viewName: "Messages", badgeNumber: 69)
                    HomeTabItem(viewRouter: self.viewRouter, tabImage: "star", tabText: "FavoritesTitle", viewName: "Favorites", badgeNumber: 0)
                    HomeTabItem(viewRouter: self.viewRouter, tabImage: "magnifyingglass", tabText: "SearchTitle", viewName: "Search", badgeNumber: 0)
                    HomeTabItem(viewRouter: self.viewRouter, tabImage: "person", tabText: "ProfileTitle", viewName: "Profiles", badgeNumber: 0)
                }.frame(width: geo.size.width, height: tabBarHeight)
                .foregroundColor(.white)
                .padding(.bottom, geo.safeAreaInsets.bottom)
                .background(Color(#colorLiteral(red: 0.259467423, green: 0.5342320204, blue: 0.7349982858, alpha: 1)))
            }
            .edgesIgnoringSafeArea(.bottom)
        }
    }
}

另见What is the difference between 'java', 'javaw', and 'javaws'?