Получение конфигурации ресурса не может быть изменено в этом контексте при развертывании службы RESTful Jersey в IntelliJ IDEA - PullRequest
2 голосов
/ 13 мая 2019

Я пишу RESTful API с использованием Jersey / Tomcat, и я столкнулся с:

javax.servlet.ServletException: Servlet.init() for servlet [com.tuiasi.petru.sop.service.MyApplication] threw exception
.......
java.lang.IllegalStateException: The resource configuration is not modifiable in this context.

при вызове API.

Я полагаю, что исчерпал многие тривиальные решения, в том числе те, которые я видел здесь. Я предполагаю, что что-то связано с конфигурацией развертывания, которую я настроил в IntelliJ IDEA, которую я использую. Так что в основном мой код выглядит следующим образом:

@ApplicationPath("api")
public class MyApplication extends ResourceConfig {

public MyApplication() {
        register(...);
    }
}

@Path("data")
public class DataController {
...

@GET
@Produces(MediaType.APPLICATION_JSON)
public Response list() {
    return Response.ok().build();
}
}

Мой web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
  <display-name>SOPStorageService server</display-name>
</web-app>

При развертывании в IntelliJ IDEA я выбираю разорванный войной вид артефакта, в который добавляю службу хранения со всеми ее зависимостями.

Единственная проблема, которую я до сих пор полностью не исключил, - это возможная несовместимость между некоторыми банками. Мне еще интересно, сможет ли кто-нибудь лучше определить возможную проблему в данном конкретном случае.

Любая помощь высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...