在maven 中调用shell 命令
1 <build> 2 <plugins> 3 <plugin> 4 <artifactId>exec-maven-plugin</artifactId> 5 <groupId>org.codehaus.mojo</groupId> 6 <executions> 7 <execution> 8 <id>uncompress</id> 9 <phase>install</phase> 10 <goals> 11 <goal>exec</goal> 12 </goals> 13 <configuration> 14 <executable>${basedir}/uncompress.sh</executable> 15 </configuration> 16 </execution> 17 </executions> 18 </plugin> 19 </plugins> 20 </build>
1. 这里需要理解maven中几个概念
a.maven的生命周期
maven的生命周期主要有3套,分别是clean、default、site,clean主要用来清理项目,default用来构建项目,site用来建立项目站点。每个生命周期又包含一些阶段,这里就不列出了。
当我们在命令行中执行mvn clean install时,该命令调用了clean生命周期的clean阶段和default生命周期的install阶段
b.插件绑定
maven的核心仅仅定义了抽象的生命周期,具体的任务交给插件来完成,而maven的生命周期与插件互相绑定,具体而言,应该是生命周期的阶段与插件的目标互相绑定,以完成某个具体的构建任务
现在来看我们上面的例子,我们在第10行开始定义了这个插件的目标,并且在第9行指定了default生命周期的install阶段,这里的意思就是说在default生命周期的install阶段,我们将执行插件的exec目标,也就是执行我们在14行指定的脚本。
生命周期的某一个阶段可以绑定很多插件的目标,这些目标的执行顺序按照定义的顺序来执行
一些属性
${basedir}表示项目根目录,即包含pom.xml文件的目录
标签:
maven
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞