gpt4 book ai didi

maven - 带有 Maven 依赖项的 Jersey + Gradle 不起作用

转载 作者:行者123 更新时间:2023-12-01 02:30:43 24 4
gpt4 key购买 nike

嗨,我正在关注 Jersey 太阳文档。我之前已经部署过这个简单的 pom.xml

<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.14</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-grizzly2</artifactId>
<version>1.14</version>
</dependency>

并添加存储库
  <url>https://maven.java.net/content/repositories/snapshots/</url>

然而,当我尝试使用 gradle 执行此操作时,它似乎不起作用,没有下载所需的其余依赖项,显然我必须明确地放置 javax.ws.rs:jsr311-api:1.1.1 甚至 Jersey -核。这是我的 build.gradle。
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'jetty'

sourceCompatibility = 1.6

repositories {
mavenCentral()
maven {
url 'https://maven.java.net/content/repositories/snapshots/'
}
}

List compileLibraries =['com.sun.jersey:jersey-server:1.14',
'com.sun.jersey:jersey-grizzly2:1.14',
'com.sun.jersey:jersey-core:1.14',
'javax.ws.rs:jsr311-api:1.1.1']


dependencies {
compile (compileLibraries )

testCompile group: 'junit', name: 'junit', version: '4.+'
}

httpPort = 8888
stopPort = 9451
stopKey = 'foo'

这是正确的gradle行为吗?我怎么能像 maven 一样呢?

编辑

只是为了这个,如果有人对看到与 gradle 一起工作的 gradle 构建文件感兴趣,你可以去

https://github.com/necronet/XTradeJerseyimpl/

谢谢!!

最佳答案

似乎 Gradle 没有正确解释从 jersey-server 到 jersey-core 的依赖关系。看着 the pom显示 jersey-core 依赖项在一个配置文件中,这可能是它没有被选中的原因。而 jersey-core 依赖于 jsr311。在这种情况下,听起来 Gradle 可能应该考虑标记为“activeByDefault”的配置文件。

就是说,您已经找到了解决方案,即直接指定两个 jar - 与 maven xml 相比,要配置的行数仍然更少:)

此外,看起来您需要的所有 jars 都可以在 mavenCentral 中找到,因此快照存储库没有贡献任何内容。

这并不能解决明确提及这两个额外 jar 的需要,但我希望这可以解释原因,您可能想在 Gradle Jira 上提出问题。如果您认为应该解决这个问题。

关于maven - 带有 Maven 依赖项的 Jersey + Gradle 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13114970/

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