微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在bat文件中执行多个maven命令?

我做了一个bat文件,如:

mvn清洁;

mvn包;

但它不起作用,只有第一个命令被执行。

有人能帮我吗?

在编辑Windowsregistry(如果需要的话)时启动reg文件的哪个registry编辑器版本?

批处理脚本来设置当前path位置的variables

在批处理脚本中alignmentecho命令的输出

Windows批处理将var分配给另一个var

batch file用于在文件添加随机数字(3位数字)并删除数字

使用Nircmd截取date时间文件

如何扩展一个CMD shellvariables两次(recursion)

创build目录,如果不存在与for循环和列表的窗口

在cmd.exe中,如何获得一个variables来转义setlocal命令?

用批量分割和比较string

使用

call mvn clean call mvn package

请注意,批处理文件中不需要分号。 而你需要使用call的原因是mvn本身就是一个批处理文件,批处理文件需要通过调用相互call ,否则控制不会返回给调用者。

如果您希望后续命令回显到命令行(以批输出方式显示),则必须echo on完成call mvn (下一行)后执行echo on 。 这是因为mvn会关闭回声,而不会重新打开。

Joey的答案很好,但也许一个更完整的代码示例可以帮助像我这样的其他人从Windows中的批处理文件中找出一个类似的问题:

REM maven itself uses a batch file so each mvn must be preceded by "call" REM the -f flag specifies where the pom.xml is found for the project REM mvn install will save the target output to %userprofile%.m2repository ... call mvn install -fc:UsersJohnworkspacePropertiesReaderpom.xml call mvn install -fc:UsersJohnworkspacePropertiesWriterpom.xml

你也可以有以下一行:

call mvn clean package

我有更多的项目运行,我创造了这样的蝙蝠:

@echo off SET DEVELOPMENT_HOME=C:Projects cd %DEVELOPMENT_HOME%Project1 call mvn clean install cd %DEVELOPMENT_HOME%Project2 call mvn clean install

当你想要调用文件中的另一个批处理文件时使用“call”,这样控件将返回到父批处理文件,并且将继续执行。

例如调用mvn clean install

观察到的bahavIoUr来自MS-DOS 1.0的时间,并保持兼容性的原因,作为解决方案,您将使用Windows 调用函数按以下方式:

call mvn clean call mvn package

调用”从另一个执行一个批处理程序,并将其解释为子程序。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐