【发布时间】:2015-05-14 12:28:58
【问题描述】:
我在 build.gradle 中包含了以下依赖项:
testCompile group: 'com.xebialabs.restito', name: 'restito', version:'0.5.1'
但是对于这个 jar,其他依赖项,如 jersey-core-1.18.3.jar 也会包含在内。
现在我想要这个球衣 jar,但它也有一个包 javax.ws.rs.core,其中包含与我的最新版本 javax.ws.rs.core 冲突的类,这些类明确包含在构建中.gradle.
有什么方法可以只从传递依赖项中排除特定包,而不是整个依赖项。我是 gradle 的新手,所以如果使用了任何不正确的术语,请纠正我。
当我运行以下命令时:
gradlew dependencies --configuration testCompile
它给了我以下依赖树。这里只显示相关部分
testCompile - Compile classpath for source set 'test'.
+--- org.apache.cxf:cxf-rt-frontend-jaxrs:3.0.3
| +--- org.apache.cxf:cxf-core:3.0.3 (*)
| +--- javax.ws.rs:javax.ws.rs-api:2.0.1
| +--- javax.annotation:javax.annotation-api:1.2
| \--- org.apache.cxf:cxf-rt-transports-http:3.0.3 (*)
+--- org.apache.cxf:cxf-rt-rs-service-description:3.0.0-milestone1
| \--- org.apache.cxf:cxf-rt-frontend-jaxrs:3.0.0-milestone1 -> 3.0.3 (*)
+--- org.codehaus.jackson:jackson-jaxrs:1.9.13
| +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| \--- org.codehaus.jackson:jackson-mapper-asl:1.9.13
| \--- org.codehaus.jackson:jackson-core-asl:1.9.13
+--- org.codehaus.jackson:jackson-mapper-asl:1.9.12 -> 1.9.13 (*)
+--- com.fasterxml.jackson.core:jackson-databind:2.4.1.2
| +--- com.fasterxml.jackson.core:jackson-annotations:2.4.0
| \--- com.fasterxml.jackson.core:jackson-core:2.4.1.1
\--- com.xebialabs.restito:restito:0.5.1
+--- org.slf4j:slf4j-api:1.7.5 -> 1.7.7
+--- org.mockito:mockito-core:1.10.17
| +--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| \--- org.objenesis:objenesis:2.1
+--- org.apache.mina:mina-core:2.0.4
| \--- org.slf4j:slf4j-api:1.6.1 -> 1.7.7
+--- org.glassfish.grizzly:grizzly-http-server:2.3.17
| \--- org.glassfish.grizzly:grizzly-http:2.3.17
| \--- org.glassfish.grizzly:grizzly-framework:2.3.17
+--- junit:junit:4.12
| \--- org.hamcrest:hamcrest-core:1.3
\--- com.sun.jersey:jersey-grizzly2:1.18.3
+--- org.glassfish.grizzly:grizzly-http:2.2.16 -> 2.3.17 (*)
+--- org.glassfish.grizzly:grizzly-http-server:2.2.16 -> 2.3.17 (*)
\--- com.sun.jersey:jersey-server:1.18.3
\--- com.sun.jersey:jersey-core:1.18.3
(*) - dependencies omitted (listed previously)
现在javax.ws.rs:javax.ws.rs-api:2.0.1中的Response类在javax.ws.rs.core包下。同样,在 javax.ws.rs.core 包的 com.sun.jersey:jersey-core:1.18.3 中还有另一个 Response 类。但后者包含早期版本,没有在 rs-api 2.0 中引入的 readEntity() 方法。我的项目中 Response 的依赖关系总是被解析为早期版本。
【问题讨论】:
标签: gradle build.gradle