Gradle 构建期间出现 NPE?
Gradle NPE during build?
我在尝试构建我的项目时收到 NullPointerException
。我目前在顶层将我的依赖项声明为 properties
,然后在子模块中引用(如下所示):
错误:
A problem occurred evaluating project ':myProject'.
> java.lang.NullPointerException (no error message)
Caused by: java.lang.NullPointerException
at org.gradle.util.GUtil.flatten(GUtil.java:69)
at org.gradle.util.GUtil.flatten(GUtil.java:66)
at org.gradle.util.GUtil.collectionize(GUtil.java:93)
at org.gradle.util.GUtil$collectionize.call(Unknown Source)
at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.methodMissing(DefaultDependencyHandler.groovy:
at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.invokeMethod(DefaultDependencyHandler.groovy)
顶级声明:
ext.libraries = [
junit: 'junit:junit:4.12',
mockito: 'org.mockito:mockito-all:1.9.5'
]
在子模块中引用 属性:
testCompile([
libraries.junit,
libraries.mockito
])
我在子模块的 testCompile([
行收到错误。可能是什么原因造成的?
以下脚本可与 gradle 2.8 一起正常工作:
apply plugin: 'java'
ext.libraries = [
junit: 'junit:junit:4.12',
mockito: 'org.mockito:mockito-all:1.9.5'
]
repositories {
mavenCentral()
}
dependencies {
testCompile(
[
libraries.junit,
libraries.mockito
]
)
}
看看这里的demo。
我在尝试构建我的项目时收到 NullPointerException
。我目前在顶层将我的依赖项声明为 properties
,然后在子模块中引用(如下所示):
错误:
A problem occurred evaluating project ':myProject'.
> java.lang.NullPointerException (no error message)
Caused by: java.lang.NullPointerException
at org.gradle.util.GUtil.flatten(GUtil.java:69)
at org.gradle.util.GUtil.flatten(GUtil.java:66)
at org.gradle.util.GUtil.collectionize(GUtil.java:93)
at org.gradle.util.GUtil$collectionize.call(Unknown Source)
at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.methodMissing(DefaultDependencyHandler.groovy:
at org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.invokeMethod(DefaultDependencyHandler.groovy)
顶级声明:
ext.libraries = [
junit: 'junit:junit:4.12',
mockito: 'org.mockito:mockito-all:1.9.5'
]
在子模块中引用 属性:
testCompile([
libraries.junit,
libraries.mockito
])
我在子模块的 testCompile([
行收到错误。可能是什么原因造成的?
以下脚本可与 gradle 2.8 一起正常工作:
apply plugin: 'java'
ext.libraries = [
junit: 'junit:junit:4.12',
mockito: 'org.mockito:mockito-all:1.9.5'
]
repositories {
mavenCentral()
}
dependencies {
testCompile(
[
libraries.junit,
libraries.mockito
]
)
}
看看这里的demo。