set homepath=%userprofile%
set a=%1
set b=%2
set c=%3
set uuid=%4
set zipDirectory=%5
set pluginDirectory=%6
cd %homepath%\%a%
mvn archetype:generate -DarchetypeCatalog=file://%homepath%/.m2/repository
到这里一切都正常了,然后命令行停止执行,它不输出1,也不输出后续命令。
1
c
b
c
%uuid%
Y
cd %homepath%\%a%\%b%
mvn clean install
cd %homepath%\%a%\%b%\%b%-plugin\target
jar -xvf %zipDirectory%
cd %homepath%\%a%\%b%\%b%-plugin\target\META-INF\maven\%c%\%b%-plugin
copy pom.xml + %pluginDirectory%
cd %pluginDirectory%
rename pom.xml %b%-plugin-1.0.0.pom
问题:maven有什么我不知道的东西会中断批处理进程吗?它不明白用一个单独的数字1来执行命令吗?
2条答案
按热度按时间ogq8wdun1#
当从批处理文件中调用Maven以通过原型创建新项目时,您应该注意执行的interactive mode,即Maven将提示输入某些值或要求确认。
在您的情况下,这似乎不是您想要的行为。因此,您应该通过命令行传递
generate
目标的一些options和特定的原型,然后通过-B
标准Maven选项或通过-DinteractiveMode=true
以批处理模式运行。从official documentation您应该通过
因此,在您的案例中:
注意:添加
\
是为了提高可读性,实际上并不需要它ckx4rj1h2#
试着像这样执行命令。然后下一个命令将按预期执行