idea插件如何调用maven命令?

背景

为了实现和公司数据库框架的结合,考虑再插件调用的时候,执行maven命令,为此查了不少资料,结果发现竟然这么简单。

实践

执行普通命令的时候,需要创建自定义一个RunnerAndConfigurationSettings并且获取Executor进行执行,整体流程其实还是很复杂。所以idea其实也内置了maven命令的调用逻辑。

 

ini

代码解读

复制代码

    private void runDalGen() {         MavenRunner runner = MavenRunner.getInstance(currentProject);         MavenRunnerSettings settings = runner.getState().clone();     }

首先需要引入插件的maven依赖。

 

python

代码解读

复制代码

intellij {     version.set("2022.1.4")     type.set("IU")     plugins.set(listOf("com.intellij.java","DatabaseTools","org.jetbrains.idea.maven")) }

之后的流程就是先获取当前项目的MavenRunner对象,同时拷贝一份MavenRunnerSettings,这样就不需要自己去构建RunnerSettings对象。

实例化MavenRunnerParameters对象,MavenRunnerParameters对象就是用来设置maven命令。

 

ini

代码解读

复制代码

        MavenRunnerParameters params = new MavenRunnerParameters();         String basePath = currentProject.getBasePath();         // 配置maven坐标和项目路径         params.setWorkingDirPath(basePath + "\" + projectConfigVO.get_artifactId() + CommonConstants.DAO_SUFFIX);         // 配置maven命令         params.setGoals(Collections.singletonList(CommonConstants.DALGEN_GAL));

再调用MavenRunner的runner方法接口即可,run方法还有一个函数式接口,用来实现命令执行后的一些操作。

整理了一份好像面试笔记包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题

需要全套面试笔记【点击此处即可】免费获取

csharp

代码解读

复制代码

        runner.run(params, settings, () -> {         });

最后的效果:

总结

通过MavenRunner就可以方便快速的在插件中执行maven命令,而不需要更多额外的配置类进行创建。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值