使用哪个目标作为no-op(用于编写脚本)?

时间:2012-07-10 20:04:09

标签: maven plugins

我在Jenkins CI上有一个脚本,可选择执行依赖:go-offline。另一种选择应该是什么都不做。但我不能把“”放在那里 - 它必须是一个目标。

那么 - 你会选哪一个?它应该:

  • 处于中心位置,始终可以访问
  • 花费最短时间
  • 有最小的输出
  • 没有副作用

我在考虑一些帮助:...目标,但那些往往有很多输出。还好吗?

2 个答案:

答案 0 :(得分:29)

您可以使用此目标和选项:

mvn --quiet help:help

-q--quiet选项会导致输出仅显示错误。

请注意,Jenkins允许您在使用中添加--quiet等显示的选项:mvn [options] [<goal(s)>]。您可以在Jenkins作业的“目标和选项”字段中配置它们。

检查mvn --help输出以获取更多信息。

我知道这是一个老问题,但是当我遇到相同的要求并且仍然没有答案时,我遇到了它,所以我将在任何需要它的人发帖。

答案 1 :(得分:0)

这仍然取决于当前项目,但如果您出于某种原因不想对特定插件进行硬编码,这可能会很有用:

mvn -pl ./ validate

-pl ./ 表示仅当前项目,忽略子模块。或者,您可以通过相对路径或 [groupId]:artifactId.
指定特定项目 validateDefault Lifecycle 的第一阶段。不改变或构建任何东西。

或者,如果您根本没有 Maven 项目,则可以在没有它的情况下执行某些 Maven 插件,或者更确切地说是特定的插件目标。例如:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:help

如果它在当前目录中看到 POM,它仍然会扫描项目。当然,您仍然需要在本地存储库中安装该插件。