[英]Adding Multipart feature into Jersey Web Service in Tomcat
我正在嘗試實現一個Jax-RS(Jersey),它有一個/ upload端點,用戶可以使用Multipart上傳圖像。 項目已經實現了其他部分並且工作正常,當我嘗試添加Multipart功能時會出現問題。
我正在使用IntelliJ IDEA和Tomcat 8.5.xx來部署我的應用程序。
我在pom.xml中的依賴關系如下;
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.25.1</version> <!-- 2.10.1 -->
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.42</version>
</dependency>
</dependencies>
這是我的web.xml部分;
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value> org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>
當我在Tomcat中啟動WAR時,它顯示內部服務器錯誤500和日志;
java.lang.IllegalStateException: The resource configuration is not modifiable in this context.
org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:274)
org.glassfish.jersey.server.ResourceConfig$ImmutableState.register(ResourceConfig.java:221)
org.glassfish.jersey.server.ResourceConfig.register(ResourceConfig.java:453)
org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:387)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
javax.servlet.GenericServlet.init(GenericServlet.java:158)
我不知道問題的原因是什么。 從異常的名稱,我猜它與web.xml添加的MultipartFeature有關。 然而,由於我沒有足夠的經驗,而且我在google上的搜索效果不佳,我需要更有經驗的人的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.