【问题标题】:Jersey: "Missing dependency for method ..."泽西岛:“缺少对方法的依赖……”
【发布时间】:2012-02-21 01:09:08
【问题描述】:

有人能解释一下这个错误的含义吗?

INFO: Scanning for root resource and provider classes in the Web app resource paths:
  /WEB-INF/lib
  /WEB-INF/classes
Feb 21, 2012 3:03:48 AM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Root resource classes found:
  class com.foo.dom2jcr.rest.XMLCRUDRestlet
Feb 21, 2012 3:03:48 AM com.sun.jersey.api.core.ScanningResourceConfig init
INFO: No provider classes found.
Feb 21, 2012 3:03:48 AM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate
INFO: Initiating Jersey application, version 'Jersey: 1.11 12/09/2011 10:27 AM'
Feb 21, 2012 3:03:49 AM com.sun.jersey.spi.inject.Errors processErrorMessages
SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for method public void com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
  SEVERE: Missing dependency for method public void com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
  SEVERE: Missing dependency for method public void com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
  SEVERE: Missing dependency for method public void com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
  SEVERE: Missing dependency for method public void com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
  SEVERE: Missing dependency for method public void com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
  SEVERE: Missing dependency for method public void com.sun.jersey.json.impl.provider.entity.JSONListElementProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
  SEVERE: Missing dependency for method public void com.sun.jersey.json.impl.provider.entity.JSONListElementProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
  SEVERE: Missing dependency for method public void com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider.setConfiguration(com.sun.jersey.core.util.FeaturesAndProperties) at parameter at index 0
[INFO] Started Jetty Server

我正在使用 Jersey 1.11 + Jetty 7.6.1.v20120215。 这些是我的依赖项:

                <dependency>
                    <groupId>com.sun.jersey</groupId>
                    <artifactId>jersey-bundle</artifactId>
                    <version>1.11</version>
                </dependency>
                <dependency>
                    <groupId>com.sun.jersey</groupId>
                    <artifactId>jersey-client</artifactId>
                    <version>1.11</version>
                </dependency>
                <dependency>
                    <groupId>com.sun.jersey</groupId>
                    <artifactId>jersey-servlet</artifactId>
                    <version>1.11</version>
                </dependency>
                <dependency>
                   <groupId>com.sun.jersey.contribs</groupId>
                   <artifactId>jersey-multipart</artifactId>
                   <version>1.11</version>
                </dependency>

我尝试环顾 Google,但似乎找不到原因。

提前致谢!

【问题讨论】:

    标签: maven jetty jersey


    【解决方案1】:

    删除

       <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-bundle</artifactId>
            <version>1.11</version>
       </dependency>
    

    你应该没事的。

    您通过在类路径中添加捆绑和单独的依赖项来混淆 Jersey。因此,基本上您有两个具有相同名称的类(在本例中为“com.sun.jersey.core.util.FeaturesAndProperties”),Jersey 运行时需要一个,而您提供第二个.. 反之亦然。

    无论如何,当 jersey-bundle 从类路径中删除时,你应该没问题。

    【讨论】:

    • 感谢这有效并解决了我遇到的另一个问题。
    【解决方案2】:

    我在处理分段上传时遇到了类似的问题。经过一番搜索和调查,我发现我使用的是不同版本的 jersey-multipart 和 mimepull jar,它们与我项目中使用的 jersey 包不兼容。

    如果您是非 Maven 开发人员,请确保您在类路径中添加了以下 jar:

    • jersey-multipart-X.jar
    • mimepull-Y.jar

    X 和 Y 分别是 jersey-multipart 和 mimepull jar 的版本标识符。

    *注意X(jersey-multipart的版本)应该和jersey-bundle jar的版本一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-02
      • 1970-01-01
      • 2014-10-06
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多