当前位置: 首页 > 知识库问答 >
问题:

如何从gradle任务中运行mvn命令?

梅玉堂
2023-03-14

我有一个结构如下的项目:

Maven-as-submodule-只是一个分级项目;graph-gen是gradle项目中的Maven模块(不是子模块)

我的目标是从gradle任务运行command:mvn graphwalker:generate-sources。所以我写了一些:

task generateGraphBasedInterfaces(type: Exec) {
    workingDir './graph-gen'
    commandLine 'mvn graphwalker:generate-sources'
}
    null

任务runMvnInterfaceGenerator(类型:Exec){dependsOn“copy graphstoGenerator”workingDir“./graph-gen”args“graphwalker:generate-sources”executable“mvn”}

工作得很好。那么,命令行有什么问题?

共有1个答案

姚凯歌
2023-03-14

命令行参数需要单独传递:

task generateGraphBasedInterfaces(type: Exec) {
    workingDir rootProject.getProjectDir().getAbsolutePath() + "/graph-gen"
    commandLine "mvn", "graphwalker:generate-sources"
}

还要确保$path上有mvn/mvn.cmd

 类似资料:
  • 问题内容: 我正在构建一个Java程序来自动化服务器端的过程。通常,我cd到Desktop / GIT /并使用此maven命令“ mvn integration- test -DskipTests -P Interactive -e”。 我正在构建一个Java程序,并且试图运行该命令行,但到目前为止我没有成功。 到目前为止,这是代码: 问题答案: 我设法使用以下代码运行mvn :(我使用此命令:

  • 我在build.gradle中创建了一个新的gradle任务: 哪个应该运行rerun.sh: 我使用IntelliJ作为IDE。如何运行此任务? 我尝试在zshell控制台中运行并收到此错误: gradle调用CL zsh:找不到命令:gradle 但是在 IDE 中,我一直使用 gradle,因此必须安装它。 我怎么才能解决这个问题?我的写作还好吗?

  • 在我的项目中,我有几个任务在我的建筑。我希望这些任务在运行时是独立的。我需要从命令行运行一个任务。但是命令“gradle taskA”将同时运行taskA和taskB,这是我不想要的。如何阻止正在运行的任务?。 这是我正在做的一个例子。

  • 我有一个java和groovy类,由gradle Task运行。我已经设法使它工作,但我不喜欢在命令行中传递参数的方式。下面是我当前通过命令行执行的方法: my build。gradle代码采用这些参数如下所示: 我想知道有没有一种方法可以更好地传递参数,比如: 以及如何在我的java类中使用它们。

  • 我有代码: 年级4.5.1对此警告为 但是link没有给我任何可以替换它的提示,因为我不能仅仅设置任务依赖项,比如dependsOn或FinalizdBy--它不是从其他任务调用的,而是从构建的末尾调用的。

  • 我想从我的Gradle脚本运行JMeter GUI,这样我就可以仔细控制版本和环境因素,这样我的本地开发人员机器构建1就没有必要的设置了。 我的JMeter的构建。gradle(多项目构建的一部分): 1目前,在我的构建中,所有内容都受到严格的版本控制,是Gradle构建的一部分。这包括NodeJS、NPM和Terraform。从字面上看,唯一的设置先决条件是Java8 JDK。我想用JMeter