gradle 中 mvn update 和 mvn install 的等价物

Posted

技术标签:

【中文标题】gradle 中 mvn update 和 mvn install 的等价物【英文标题】:equivalents for mvn update and mvn install in gradle 【发布时间】:2017-11-29 01:33:07 【问题描述】:

我是 gradle 的新手,因此我对 gradle 有一些疑问。在 gradle 之前,我使用过 maven,在 maven 中有一些命令,例如

mvn update mvn clean install

使用mvn update,我们从互联网下载依赖包,并从不同项目下载其他包。

使用mvn install,我们创建了jar、war、ear 或ejb 那么gradle中maven命令的等价物是什么?

mvn update ~= gradle ...

mvn clean install ~= gradle clean ...

【问题讨论】:

我对Maven了解不多,但是Gradle专门提供jarwar任务,如果在build.gradle中声明了相应的插件(分别为javawar 看看这个指南:guides.gradle.org/migrating-from-maven 【参考方案1】:

Gradle 会自动为您获取所有必需的依赖项。

长话短说:

mvn update        ~= ./gradlew build --refresh-dependencies
mvn clean install ~= ./gradlew clean build

TL;DR

要强制 Gradle 重新下载依赖项,您可以执行 (How can I force gradle to redownload dependencies?):

./gradlew build --refresh-dependencies

在不执行测试的情况下组装您的项目 (Gradle build without tests):

./gradlew assemble

通过测试执行完全构建您的项目:

./gradlew build

您可以通过提供-x 参数来跳过某些任务:

./gradlew build -x test

【讨论】:

maven 的 install 阶段对应的应该是 gradle 的 install 任务(由 maven 插件提供)或 publishToMavenLocal i> 任务(由maven-publish 插件提供)【参考方案2】:

相当于

mvn clean install 

gradle install

Gradle的maven插件提供了什么。只需将以下行添加到您的 build.gradle 文件中:

apply plugin: 'maven'

【讨论】:

另一个答案提到gradle build 是等效的:有什么区别? gradle build 不会将生成的 jar 放入存储库,它只会构建它。 mvn clean -Dmaven.test.skip=true install 的 gradle 等价物是什么?【参考方案3】:

命令如下:

./gradlew build

【讨论】:

这在this answer中已经提到。 在回答已有答案的旧问题时,请确保提供新颖的解决方案或比现有答案更好的解释。

以上是关于gradle 中 mvn update 和 mvn install 的等价物的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 替代 mvn install

Maven - 为啥在“mvn clean”之后我需要在“mvn package”之前执行“Maven Update Project”?

Gradle 相当于 `mvn clean -Dmaven.test.skip=true install`

使用 mvn 版本排除属性:使用 excludesList 更新属性

Linux下安装maven(mvn命令)

bat脚本中使用gradle或maven等外部命令后,脚本不继续执行,直接退出