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专门提供jar
和war
任务,如果在build.gradle
中声明了相应的插件(分别为java
和war
)
看看这个指南: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 的等价物的主要内容,如果未能解决你的问题,请参考以下文章
Maven - 为啥在“mvn clean”之后我需要在“mvn package”之前执行“Maven Update Project”?
Gradle 相当于 `mvn clean -Dmaven.test.skip=true install`