JavaJersey应用启动时NoSuchMethodError如何排查解决?

更新于
2026-09-24 04:29:22
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计356个文字,预计阅读时间需要2分钟。

JavaJersey应用启动时NoSuchMethodError如何排查解决?

在Java Jersey应用中,启动时出现NoSuchMethodError错误,建议查阅相关评论以获取进一步的讨论和技术技巧。通常,此错误意味着类路径上存在多个版本的JAX-RS API(JAX-RS 1和JAX-RS 2),导致类加载时出现冲突。例如,如果同时包含`javax.ws.rs-api-1.1.1.jar`和`javax.ws.rs-api-2.0.1.jar`,则应确保仅使用JAX-RS 2的版本,即`javax.ws.rs-api-2.0.1.jar`。

在JavaJersey应用中启动时出现NoSuchM

请参阅上面的评论以获取进一步的讨论和技巧。

通常,此错误意味着您在类路径上同时具有JAX-RS 1和JAX-RS 2 jar。Jersey 2使用JAX-RS 2(javax.ws.rs-api-2.0.1.jar),但是如果您jsr311-api.jar也有JAX-RS1,则javax.ws.rs.core.Application每个jar中都有一个。但是jsr311-apiApplication没有方法getProperties()(因此NoSuchMethodError)。

我得出的结论是,您需要做的就是将上述排除项添加到swagger依赖项中。杰克逊2.0提供程序(取决于JAX-RS1)似乎被2.4.1提供程序(使用新版本)覆盖。因此,我们不需要自己添加它。当它被覆盖时,它似乎留在了后面jsr311-api.jar。

阅读全文

本文共计356个文字,预计阅读时间需要2分钟。

JavaJersey应用启动时NoSuchMethodError如何排查解决?

在Java Jersey应用中,启动时出现NoSuchMethodError错误,建议查阅相关评论以获取进一步的讨论和技术技巧。通常,此错误意味着类路径上存在多个版本的JAX-RS API(JAX-RS 1和JAX-RS 2),导致类加载时出现冲突。例如,如果同时包含`javax.ws.rs-api-1.1.1.jar`和`javax.ws.rs-api-2.0.1.jar`,则应确保仅使用JAX-RS 2的版本,即`javax.ws.rs-api-2.0.1.jar`。

在JavaJersey应用中启动时出现NoSuchM

请参阅上面的评论以获取进一步的讨论和技巧。

通常,此错误意味着您在类路径上同时具有JAX-RS 1和JAX-RS 2 jar。Jersey 2使用JAX-RS 2(javax.ws.rs-api-2.0.1.jar),但是如果您jsr311-api.jar也有JAX-RS1,则javax.ws.rs.core.Application每个jar中都有一个。但是jsr311-apiApplication没有方法getProperties()(因此NoSuchMethodError)。

我得出的结论是,您需要做的就是将上述排除项添加到swagger依赖项中。杰克逊2.0提供程序(取决于JAX-RS1)似乎被2.4.1提供程序(使用新版本)覆盖。因此,我们不需要自己添加它。当它被覆盖时,它似乎留在了后面jsr311-api.jar。

阅读全文