即使Windows上的可执行文件失败,Maven exec插件也会构建SUCCESS

时间:2015-09-04 16:57:05

标签: java maven exec-maven-plugin

我有一个maven项目,我使用maven exec插件执行windows .bat文件。问题是,即使蝙蝠执行失败(即退出代码为-1),项目的构建也是成功的。

这是我定义的插件:

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>exec-maven-plugin</artifactId>
   <version>1.4.0</version>
   <executions>
       <execution>
           <phase>compile</phase>
           <goals>
               <goal>exec</goal>
           </goals>
           <configuration>
               <executable>run.bat</executable>
           </configuration>
       </execution>
   </executions>
</plugin>

请注意,如果我在Unix上执行它(即执行.sh文件并且构建失败),行为与预期相同。

1 个答案:

答案 0 :(得分:1)

请参阅问题noahlz answerLaunching a windows batch script using Maven exec plugin ...

  

Windows批处理文件不可执行。它们是由cmd可执行文件运行的脚本。

     

...短版本是:这不是“Maven”的问题,这是执行exec()命令的平台依赖性问题。

如果run.bat中的命令设置%ERRORLEVEL%这是在执行CMD中设置但未传递给CMD的调用者,即Maven Exec插件。明确地退出run.bat require_once('./../bootstrap.php'); 应该可以解决这个问题。