Java 带有Jacoco插件的Gradle 1.9找不到Jacoco代理
我有一个简单的Java项目,其中包含一些我正在使用Gradle1.9构建的测试。我正在尝试将Jacoco添加到构建中,如下所示: 运行时:Java 带有Jacoco插件的Gradle 1.9找不到Jacoco代理,java,gradle,jacoco,Java,Gradle,Jacoco,我有一个简单的Java项目,其中包含一些我正在使用Gradle1.9构建的测试。我正在尝试将Jacoco添加到构建中,如下所示: 运行时:gradle clean build jacocoTestReport我得到以下生成失败: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > Could not resolve all
gradle clean build jacocoTestReport
我得到以下生成失败:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> Could not resolve all dependencies for configuration ':jacocoAgent'.
> Could not find org.jacoco:org.jacoco.agent:0.6.2.201302030002.
Required by:
:Phoenix:1.0
我的build.gradle文件是:
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'jacoco'
apply plugin: 'sonar-runner'
sourceCompatibility = 1.7
version = '1.0'
test {
// enable TestNG support (default is JUnit)
useTestNG()
// listen to events in the test execution lifecycle
beforeTest { descriptor ->
logger.lifecycle("Running test: " + descriptor)
}
// listen to standard out and standard error of the test JVM(s)
onOutput { descriptor, event ->
logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message )
}
}
sourceSets {
main {
java {
srcDir 'src'
}
}
test {
java {
srcDir 'test'
}
}
}
jar {
manifest {
attributes 'Implementation-Title': 'SQLWriter', 'Implementation-Version': version
}
}
dependencies {
compile files('./lib/commons-codec-1.6.jar')
runtime files('./lib/hamcrest-core-1.3.jar')
runtime files('./lib/sqlite-jdbc-3.7.2.jar')
compile files('./lib/testng-6.8.jar')
runtime files('./lib/testng-6.8.jar')
}
task doc(type: Javadoc) {
source = sourceSets.main.allJava
}
jacoco {
toolVersion = "0.6.2.201302030002"
reportsDir = file("$buildDir/customJacocoReportDir")
}
jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
}
谁能告诉我我错过了什么?我怀疑Jacoco插件文档可能已经过时,或者与Gradle的最新版本不兼容,但是我在这一点上对Gradle没有什么经验
谢谢 您没有在构建中定义存储库。对于许多人来说,这将是Maven Central
repositories {
mavenCentral()
}
当您指向
lib
文件夹时,似乎希望自己管理库。我假设这些库是用您的源代码签入的?如果同样的策略也适用于JaCoCo库,那么您需要将它们放在那里,并将它们分配给JaCoCo插件的目录。Simly me。我想我假设Gradle会有一些默认的回购协议来降低插件依赖性。谢谢你,帮我省了N个小时的时间!你说得对,我可能会删除那些Jacoco依赖项并对它们进行源代码控制。我们有一个策略,不管好坏,我们都要对所有依赖工件进行源代码控制。