3

grails clean run-app不是命令。

grails clean 然后 你需要运行 grails run-app

如果我使用以下内容创建一个 bat 文件:

grails clean
grails run-app

脚本在 clean 后结束。run-app 永远不会被调用。

如何在 bat 文件中同时运行两者?

4

4 回答 4

7
CALL grails clean
CALL grails run-app

应该这样做。

CALLCALL 为批处理提供了一个在ed 过程完成时返回的位置

于 2013-04-12T06:22:43.817 回答
4

下面的批处理文件允许您使用几个 grails 选项来调用它,就像在第一个示例中一样:

@echo off
:nextOption
   if "%~1" equ "" goto :EOF
   call grails %1
   shift
goto nextOption

例如,如果之前的批处理文件名为 CALLGRAILS.BAT,您可以这样做:

callgrails clean run-app

当然,您可以根据需要重命名 CALLGRAILS.BAT。

于 2013-04-12T07:20:43.280 回答
1

您还应该能够在命令行中使用以下内容:

> grails clean && grails compile && grails run-app

Or

> grails clean && grails run-app

Grails 2.2.0
于 2013-04-12T12:24:45.150 回答
0

如果您只需要将这两个任务自动化到一个步骤中,另一种选择是在以下位置创建一个全局脚本:

  • ~/.grails/scripts/CleanRunApp.groovy用于 Unix/Linux
  • %USERPROFILE%\.grails\scripts\CleanRunApp.groovy对于 Windows

在这种情况下,您可以在任何 Grails 项目中运行以下命令:

grails CleanRunApp

CleanRunApp.groovy 文件的内容(可以简化,但仅作为示例)

includeTargets << grailsScript("_GrailsClean")
includeTargets << grailsScript("_GrailsRun")

target(cleanRunApp: "Clean, then run app") {
    depends(cleanAll, checkVersion, configureProxy, packageApp, parseArguments)

    startPluginScanner()

    if(argsMap.https){
        runAppHttps()
    }
    else {
        runApp()
    }

    watchContext()
}

setDefaultTarget("cleanRunApp")
于 2013-04-12T21:44:24.823 回答