Java 格拉德尔';无法解析配置的所有依赖项';在Jersey/JAX-RS项目中

Java 格拉德尔';无法解析配置的所有依赖项';在Jersey/JAX-RS项目中,java,rest,maven,gradle,jersey,Java,Rest,Maven,Gradle,Jersey,我想将JSON依赖项放在build.gradle中,以修复错误MessageBodyWriter not found for media type=application/JSON。 在我的工作中,我了解到我很可能没有在build.gradle文件中包含JSON作为依赖项 我添加了如下所示的依赖项(第8行,最后一个compile) 现在我得到的错误是,无法解析配置的所有依赖项“ FAILURE: Build failed with an exception. * What went wrong

我想将JSON依赖项放在build.gradle中,以修复错误
MessageBodyWriter not found for media type=application/JSON
。 在我的工作中,我了解到我很可能没有在build.gradle文件中包含JSON作为依赖项

我添加了如下所示的依赖项(第8行,最后一个
compile

现在我得到的错误是,
无法解析配置的所有依赖项“

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':qa-automation-console:compile'.
> Cannot resolve external dependency org.glassfish.jersey.media:jersey-media-json-jackson:2.3.10 because no repositories are defined.
  Required by:
  qaauto:qa-automation-console:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 5.273 secs
我正在检查是否包含了和Jersey(在web.xml中,我看到了2.5,但2.5仍然给出了相同的错误)。在我的jersey服务器端代码中,与jersey相关的唯一包是
import org.glassfish.jersey.server.mvc.Viewable


有人告诉我需要添加什么吗?

在build.gradle中定义存储库,如下所示

repositories {
      maven  {
          url "http://repo1.maven.org/maven2"
      }
}
或跟随

repositories {
    mavenCentral()
}
给出了其他例子

您还应该根据现有数据更改依赖项。由于您请求maven存储库中不存在的“Version2.3.10”,我链接了版本页

dependencies {
    compile 'org.glassfish.jersey.media:jersey-media-json-jackson:2.5'
}

谢谢你,这很有帮助。在哪里/如何找到与maven repo匹配的确切URL?我的本地文件中是否有任何内容需要查找以匹配“版本”?(就像上面例子中提到的maven2?)如果使用standart maven central url,则不需要找到准确的url。我用mavenCentral()添加了另一个示例,usageI尝试了这两种回购协议,但它得到另一个错误
无法解析org.glassfish.jersey.media:jersey media json jackson:2.5
>无法获取资源https://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-json-jackson/2.5/jersey-media-json-jackson-2.5.pom.
>无法获取https://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-json-jackson/2.5/jersey-media-json-jackson-2.5.pom.
>连接到https://repo1.maven.org 拒绝
@JiajuShen您使用的是什么版本的球衣?您可能只想下载所有的jar,因为这似乎就是您管理jar的方式。如果连接被拒绝,听起来像是防火墙问题。@JiajuShen我的意思是我链接的答案提供了一堆jar的下载链接。对于Maven或Gradle,当我们声明一个依赖项(如
jersey media json jackson
)时,该工具将下载该jar以及它所依赖的所有jar。在jersey media json jackson
的情况下,该链接中的所有jar都将被拉入。但是,由于下载在Gradle上不起作用(可能被防火墙拒绝),您需要单独下载所有这些JAR,并且在您放置所有其他应用程序JAR的地方,将这些JAR放在那里。我不知道还能怎么解释。
dependencies {
    compile 'org.glassfish.jersey.media:jersey-media-json-jackson:2.5'
}