[英]How create maven alias for set of goals?
我正在配置一个 Maven 项目并希望能够使用别名,例如
mvn server
- 执行mvn clean package tomcat:run
Grunt 任务运行器做得很好,但我还没有找到在 Maven 中做同样事情的方法。 可能吗?
如果你愿意,你可以在你的 pom 中定义一个<defaultGoal>...</defaultGoal>
。 所以你可以定义这样的东西:
<project>
<build>
<defaultGoal>clean package tomcat:run</defaultGoal>
.
</build>
</project>
如果你简单地调用mvn
将被激活......不是真正的别名,因为通常你不需要一个......
开箱即用我不知道任何不暗示使用插件的解决方案。 一个简单的解决方案可能是为您的主目录(对于 Linux)或.bash_profile
(对于 OS X)中的.bashrc
文件添加别名,以获得所需的说明。
例如:添加一行alias my-alias="mvn clean install"
将允许您在终端中执行命令my-alias
,获得与运行mvn clean install
指令本身相同的结果。 添加另一行alias my-alias-port="mvn clean install -Dcrx.port=9200"
作为第二条指令,依此类推。
或者,您可以执行alias
查看所有别名的列表及其各自的说明。
我发现的最佳解决方案是使用以下组合:
project/.mvn/maven.config
大致按照这个优先顺序。
GNU Make 特别好,因为它提供了 bash 补全。
您的特定示例的示例 Makefile 将是:
.PHONEY: server
server:
[tab]mvn clean package tomcat:run
将 [tab] 替换为真正的选项卡! 请参阅制作文档。
然后你可以运行:
make server
对于 Windows 环境,您需要安装 cygwin 或类似的东西。 对于 Mac,您不必安装,但您可能应该安装 homebrew。
最后, Maven Bash 完成虽然不做别名,但会极大地方便输入 Maven 命令(按 Tab)。 许多包管理器将其作为一个包(即自制程序将其作为 maven-completion)。
您还可以将以下函数添加到.bashrc
文件中:
function mvn() {
if [ "$1" = "i" ]; then
command mvn install
else
command mvn $@
fi
}
因此,您可以使用mvn i
别名调用mvn install
。
其他不是mvn i
都会调用原始的mvn
命令。
Alias-maven-plugin是您正在寻找的。
关注网站:
例如,每当您在 shell 中键入命令时
mvn clean install
您可以花时间简单地使用这样的别名
i
它还有更多的优点——你可以通过 XML 文件配置插件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.