我在我的资源构造函数中注册了通过@InjectParam注入的jersey实例,我在MyResource调用时收到错误

构造函数public有一个Missing依赖项

SharedObjects和Dependency类在另一个jar中,这就是为什么我没有在那个类上使用@Singleton装饰器

我创建实例的应用程序类

@ApplicationPath("/api/*")

public class App extends Application  {

    private static final HashSet<Class<?>>  classes = new HashSet<Class<?>>();
    private static final Set<Object> singletons = new HashSet<Object>();

    private final Dependency dependency1;
    private final SharedObjects sharedObjects; 

    public App(){
        this.dependency1 = new Dependency();
        this.sharedObjects = new SharedObjects(this.dependency1);
        this.singletons.add(sharedObjects);
        this.classes.add(MyResource.class);
    }

    @Override
    public Set<Class<?>> getClasses() {
        return classes;
    }

    @Override
    public Set<Object> getSingletons() {
        return singletons;
    }
}

这是我的web.xml

<servlet>
        <servlet-name>Jersey Web Application</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
         <init-param>
             <param-name>javax.ws.rs.Application</param-name>
            <param-value>com.api.rest.server.App</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

我的resoruce类,我想使用sharedObject

public HorusResource(@Context HttpServletRequest req, @InjectParam SharedObjects sharedObjects){