gpt4 book ai didi

java - Gradle - Java 项目的多重依赖关系

转载 作者:行者123 更新时间:2023-12-01 18:56:58 25 4
gpt4 key购买 nike

刚刚开始使用 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 进行大型商业项目有什么看法吗?

谢谢亚当

最佳答案

您需要为每个依赖项指定配置(类似于 Maven 作用域,即 compiletestCompile 等):

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}"

关于java - Gradle - Java 项目的多重依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13646745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com