maven - 在参数中使用带有连字符的 maven exec 插件
问题描述
我正在尝试从 maven 执行 npm 构建,但是在正确获取命令行参数时遇到问题。
我正在使用以下代码段
<execution>
<id>npm run build (compile)</id>
<goals>
<goal>exec</goal>
</goals>
<phase>compile</phase>
<configuration>
<executable>npm</executable>
<workingDirectory>${my.source.directory}</workingDirectory>
<arguments>
<argument>run</argument>
<argument>build</argument>
<argument>--base-href</argument>
<argument>/my-base-href/</argument>
</arguments>
</configuration>
</execution>
我已经尝试了<argument>
's 的几种变体,但它们都不起作用。
<argument>--base-href</argument>
<argument>/my-base-href/</argument>
or
<argument>-base-href</argument>
<argument>/my-base-href/</argument>
or
<argument>"--base-href"</argument>
<argument>/my-base-href/</argument>
or
<argument><![CDATA[--base-href]]></argument>
<argument>/my-base-href/</argument>
or
<commandlineArgs>run build --base-href /my-base-href/</commandlineArgs> (instead of <arguments>)
leads to
$ npm build "/my-base-href/"
problem: missing '--base-href'
<argument>"--base-href /my-base-href/"</argument>
leads to
$ npm build
problem: missing '--base-href "/my-base-href/"'
<argument>‐‐base-href</argument>
<argument>/my-base-href/</argument>
leads to
problem: pom error, could not resolve entity named 'hyphen' (same with ‐)
<argument>\-\-base-href</argument>
<argument>/my-base-href/</argument>
leads to
$ ng build "\-\-base-href" "/my-base-href/"
problem: escape chars ending up in command
这里发生了什么?为什么 maven 会从开头吃掉这个论点,--
我怎样才能让它变得不那么好吃?
(尝试使用 windows 8.1、maven 3.3.9 和 3.5.4、exec 插件 1.3.9 和 1.6.0)
解决方案
我不确定是否完全相同,但我需要将 --coverage 标志传递给测试运行。为了得到这个,我最终需要先给--
:npm run test -- --coverage
<argument>run</argument>
<argument>test</argument>
<argument>--</argument>
<argument>--coverage</argument>
推荐阅读
- sql-server - 删除“Sortkey”中的一些“sortkey”后如何对“SortKey”进行sql排序和更新
- c# - Xamarin appshell - 强制立即创建第二个选项卡(视图)
- c# - 实体框架迁移删除和更新不起作用
- python - 你如何在 Django 中使用下载的模板
- wordpress - 如何确保子主题 functions.php 正在运行
- rest - 如果用户想要对其个人资料和个人资料图片执行操作,客户端是否应该为 API 发送两个不同的 HTTP 请求
- excel - 在两个 Excel 实例之间复制值得到运行时错误 9
- java - 如何在 RecyclerView 中获取单击项目的位置
- terraform-provider-azure - 如何使用 Terraform 启用 Application Insights?
- python - Python Selenium:日期选择器选择日期