我正在使用Jersey / Tomcat编写RESTful API,并且遇到过:
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中进行部署时,我选择了一种战争爆炸的工件,在其中添加了具有所有依赖项的存储服务。
我仍然没有完全排除的唯一问题是某些罐子之间可能不兼容。我想知道在这种情况下,是否有人会更好地发现可能的问题。
非常感谢任何帮助。