我正在使用gradle构建我的项目,使用以下build.gradle文件:
project('a'){
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'application'
buildDir = 'build'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
repositories {
mavenCentral()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.7'
}
}
当我输入gradle build命令时,我希望gradle在生成后执行一个任务。
我在网上找到了一个ustRunPost
,我尝试了多种方法都失败了。
如果你知道怎么做,请告诉我。
现在你可以使用BuildListener,它很管用。下面是用kotlin DSL编写的示例
build.gradle.kts
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-kapt")
}
android {
//[..]
project.gradle.addBuildListener(object : BuildListener {
override fun buildStarted(gradle: Gradle) {}
override fun settingsEvaluated(settings: Settings) {}
override fun projectsLoaded(gradle: Gradle) {}
override fun projectsEvaluated(gradle: Gradle) {}
override fun buildFinished(result: BuildResult) {
// add what you need to do here
println("finally!")
}
})
}
dependencies {
//[...]
}
你需要的是finalizedBy
,见以下脚本:
apply plugin: 'java'
task finalize {
doLast {
println('finally!')
}
}
build.finalizedBy(finalize)
这是文档。
我使用的是Android Studio 2.0,当我试图运行程序时,发生了一些奇怪的事情。我运行了gradle的build命令,得到了以下错误: 因此...那是什么鬼东西?我应该做的是将代码添加到gradle.build来解决这个问题,但问题是:为什么我会得到这个错误消息? 请救救我伙计们!
我面临的错误是无法将java.lang.Integer类转换为java.lang.String类。运行gradle测试时-Pnum=10。这是我的代码:
这是Windows上的构建过程。我有一个gradle任务(类型:Exec),它使用它的doFirst闭包从外部目录临时复制文件,这是它的构建过程所必需的: 出于某种原因,使用doFirst中的commandLine来执行复制命令会使整个任务终止,并阻止执行任务的主要目的。
我正在从事一个spring boot项目,以自动化与gradle的集成测试。我最近开始在一家新企业工作,我的同事们按如下方式运行集成测试:在构建中。gradle文件有一个集成测试任务 启动任务后,应用程序开始在指定端口运行,然后打开postman,导入集合并运行测试。 我的工作是找到一种方法来跳过额外的点击,即自动运行邮递员集合。第一个想法是使用postman-run gradle插件,但由于企业
谁有办法修好它?只是随机的...此处为完整stacktrace:
今天在Android Studio中,我重建了这个项目,我得到了这个错误。该项目在重建前很好。我没有更改代码中的任何内容。 这是一种错误吗?谢谢