Guice не впрыскивает ресурсы Джерси

Разобрался по всему интернету, но не могу понять, почему это происходит. У меня есть простейший проект (поверх архетипа jersey-quickstart-grizzly2) с одним ресурсом Джерси. Я использую Guice в качестве DI, потому что CDI тоже не хочет работать с Джерси. Проблема в том, что Guice не может разрешить использование класса при инъекции в ресурсы Джерси. Снаружи отлично работает, но не с Джерси. Вот ресурс Джерси:

import com.google.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("api")
public class MyResource {

    private Transport transport;

    @Inject
    public void setTransport(Transport transport) {
        this.transport = transport;
    }

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getIt() {
        return transport.encode("Got it!");
    }
}

Транспортный интерфейс:

public interface Transport {
    String encode(String input);
}

И это реализация:

public class TransportImpl implements Transport {
    @Override
    public String encode(String input) {
        return "before:".concat(input).concat(":after");
    }
}

Следуя инструкции Google GettingStarted, я унаследовалAbstractModule и связал мои занятия следующим образом:

public class TransportModule extends AbstractModule {
    @Override
    protected void configure() {
        bind(Transport.class).to(TransportImpl.class);
    }
}

Я получаю инжектор вmain() с этим, но на самом деле это не нужно здесь:

Injector injector = Guice.createInjector(new TransportModule());

Кстати, нет проблем, когда я пытаюсь сделать что-то вроде этого:

Transport transport = injector.getInstance(Transport.class);

Ответы на вопрос(2)

Ваш ответ на вопрос