我正在将一个项目构建从 Linux 移植到 Windows。我的 pom.xml 的以下部分遇到问题
我更换了
<execution>
<id>rm -rf node_modules/</id>
<goals>
<goal>exec</goal>
</goals>
<phase>initialize</phase>
<configuration>
<executable>rm</executable>
<arguments>
<argument>-fr</argument>
<argument>node_modules/</argument>
</arguments>
</configuration>
</execution>
和
<execution>
<id>rm -rf node_modules/</id>
<goals>
<goal>exec</goal>
</goals>
<phase>initialize</phase>
<configuration>
<executable>rmdir</executable>
<arguments>
<argument>.\node_modules\</argument>
<argument>/S</argument>
<argument>/Q</argument>
</arguments>
</configuration>
</execution>
第一个在 Linux 下工作,但在 Windows 下失败,所以我想使用适当的 cmd.exe 命令。然而,由于找不到目录存在的文件而失败,因此我的假设是命令失败了。我还尝试了带有适当参数的powershell命令Remove-Item,但这也失败了,我也尝试过更改参数顺序也没有成功。
rm
是 Linux 可执行文件,但rmdir
不是 Windows 可执行文件:它是命令。正确的可执行文件是CMD
作为/c rmdir
前两个参数。然而,maven-antrun-plugin
上面建议的和maven-clean-plugin
是更好的选择,因为结果适用于 Linux 和 Windows。