我对Maven很陌生,而且我经常发现自己想要在目标方面看到那里的内容。
那么,是否有一个命令列出了所有可用的目标,例如:给定的前缀?
答案 0 :(得分:42)
由于Maven是一个开放的插件系统,最好的答案可能是“谷歌”;-)。如果您指的是所有构建生命周期阶段,它们都是静态的,可以在http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html和其他地方找到。
然后,对于给定的插件,help plugin可用于获取可能的目标及其所有参数:
mvn help:describe -DgroupId=org.apache.maven.plugins \
-DartifactId=maven-war-plugin \
-Ddetail=true
但这并没有真正回答你的问题,特别是“对于给定的前缀”部分。为此,最好的解决方案可能是使用**自动完成BASH(**不确定它是否会详尽无遗)。例如,参见Guide to Maven 2.x auto completion using BASH。要在Windows下完成bash完成,您需要CYGWIN。有关详细的设置步骤(以及“更好的”工作自动完成脚本),请参阅Maven Tab Auto Completion in Bash。
答案 1 :(得分:7)
作为替代方案,您还可以使用-Dplugin
参数显示可用目标列表。
$transclude($scope, function(clone) {
$element.find('form').append(clone);
})
答案 2 :(得分:2)
越来越多的Maven插件提出了一个帮助目标,作为详细的替代方案
mvn help:describe
命令。
您可以阅读Maven doc:
最近的Maven插件通常有一个帮助目标 命令行插件的描述,以及它们的参数和 类型
使用它真的更自然和愉快。
它当然适用于 Maven核心插件 一些例子:
列出dependency
插件的目标:
mvn dependency:help
详细了解javadoc
插件的javadoc
目标:
mvn javadoc:help -Ddetail -Dgoal=javadoc
它也适用于第三方插件。
例如,列出spring-boot-maven-plugin
的目标:
mvn org.springframework.boot:spring-boot:help
[INFO] Spring Boot Maven插件2.0.0.RELEASE Spring Boot Maven 插件
这个插件有6个目标:
弹簧引导:累积信息
根据内容生成build-info.properties文件 目前的MavenProject。
弹簧引导:帮助
显示有关spring-boot-maven-plugin的帮助信息。打电话给mvn spring-boot:help -Ddetail = true -Dgoal =显示
参数详情。弹簧引导:重新打包
重新打包现有的JAR和WAR档案,以便它们可以 使用java -jar从命令行执行。布局= NONE即可 也可以简单地用于封装具有嵌套依赖关系的JAR(和 没有主类,所以不可执行。)
.....
或获取有关build
的{{1}}目标的详细信息:
dockerfile-maven-plugin
[INFO] Dockerfile Maven插件1.3.6
添加对在Maven中构建Dockerfiles的支持
dockerfile:构建
可用参数:
mvn com.spotify:dockerfile-maven-plugin:help -Ddetail -Dgoal=build
...
您可以注意到获取帮助的详细输出并专注于特定目标(- archive
The archive configuration to use for the Docker info JAR. This can be used
to embed additional information in the JAR.
)的语法与用于核心maven插件的语法完全相同。
当然,一些深奥的插件可能无法提供-Ddetail -Dgoal=myGoal
目标,但在大多数精心设计的插件中都存在。