Ноутбук Jupyter в Анаконде не загружается

Вам необходимо определить AbstractBinder и зарегистрировать его в приложении JAX-RS. Связывание определяет, как инъекция зависимости должна создавать ваши классы.

public class MyApplicationBinder extends AbstractBinder {
    @Override
    protected void configure() {
        bind(MyService.class).to(MyService.class);
    }
}

Когда @Inject обнаружен в параметре или поле типа MyService.class, он создается с использованием класса MyService. Чтобы использовать это связующее, его необходимо зарегистрировать в приложении JAX-RS. В web.xml определите приложение JAX-RS следующим образом:

<servlet>
  <servlet-name>MyApplication</servlet-name>
  <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
  <init-param>
    <param-name>javax.ws.rs.Application</param-name>
    <param-value>com.mypackage.MyApplication</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>MyApplication</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

Внесите класс MyApplication (указанный выше в init-param).

public class MyApplication extends ResourceConfig {
    public MyApplication() {
        register(new MyApplicationBinder());
        packages(true, "com.mypackage.rest");
    }
}

В конструкторе класса, указанном в конструкторе класса, записывается вставка, определяющая вложение зависимостей, а также приложение, в котором вы можете найти ресурсы REST (в вашем случае MyResource) с помощью вызова метода packages().

0
задан ParalysisByAnalysis 15 January 2019 в 17:04
поделиться

1 ответ

У меня была такая же проблема. Кажется, проблема возникает из-за отсутствия sqlite3.dll в пути ". \ Anaconda \ Dlls \". Я решил это, просто скопировав этот файл .dll из других и поместив его по указанному выше пути.

0
ответ дан Radar Lei 15 January 2019 в 17:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: