刚开始使用gradle,但没有走远。请帮忙。
我已经按照文档进行了操作,但它只显示了我无法工作的单个依赖项或依赖项。这是我的build.gradle文件:
apply plugin: 'java'
sourceCompatibility = 1.7
OFFICEDB_VERSION = 'JAN12R2'
repositories {
mavenCentral()
}
dependencies {
compile group:
'org.hibernate:hibernate-validator:5.0.0.Alpha1',
'javax.validation:validation-api:1.1.0.Alpha1',
'com.exlogs.officedb:common:${OFFICEDB_VERSION}',
'com.exlogs.officedb:officedb-service:${OFFICEDB_VERSION}',
'com.exlogs:eventhub:1.0.0-RC1',
'commons-httpclient:commons-httpclient:3.1'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
问题是我在命令行输入gradle build
时得到:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Dev\Code\officedb\manpower\build.gradle' line: 10
* What went wrong:
A problem occurred evaluating root project 'manpower'.
> Could not create a dependency using notation: {group=org.hibernate:hibernate-validator:5.0.0.Alpha1}
但是看一下文档,这应该没问题。此外,我发现的所有示例构建文件都相当小或只有一个依赖项。有没有人对使用gradle进行大型商业项目有任何看法。
由于 亚当
答案 0 :(得分:4)
您需要为每个依赖项指定配置(类似于Maven范围,即compile
,testCompile
等):
dependencies {
compile 'org.hibernate:hibernate-validator:5.0.0.Alpha1'
compile 'javax.validation:validation-api:1.1.0.Alpha1'
compile "com.exlogs.officedb:common:${OFFICEDB_VERSION}"
compile "com.exlogs.officedb:officedb-service:${OFFICEDB_VERSION}"
compile 'com.exlogs:eventhub:1.0.0-RC1'
compile 'commons-httpclient:commons-httpclient:3.1'
testCompile group: 'junit', name: 'junit', version: '4.+'
testCompile 'org.mockito:mockito-all:1.9.0'
}
group
是提供依赖关系坐标(group: 'junit', name: 'junit', version: '4.+'
)的替代语法的一部分,而不是特殊关键字。
另请注意,您需要双引号才能在字符串中使用变量:
compile "com.exlogs.officedb:common:${OFFICEDB_VERSION}"