我在IntelliJ中有一个简单的Java类,如下所示:
import javax.ws.rs.*;
import javax.ws.rs.core.*;
import java.io.*;
import java.util.List;
@Path("/hello")
public class Hello {
@GET
@Path("/{param}")
public Response getMsg(@PathParam("param") String msg) {
String output = "Jersey say : " + msg;
return Response.status(200).entity(output).build();
}
@POST
@Path("/jsonRequest")
@Produces(MediaType.APPLICATION_JSON)
public Response getJson(String url) throws InterruptedException, IOException
{
JSONObject json= JSONInteraction.readJsonFromUrl(url);
Response.ResponseBuilder response = Response.ok(json);
return response.build();
}
}
我还为json包含了一个maven依赖项:
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
我的war文件部署如下所示:
启动服务器并部署项目后,即使添加了所有依赖项,我仍然会得到javax.servlet.ServletException:org.glassfish.jersey.server.ContainerException:java.lang.NoClassDefFoundError:org / json / JSONObject当我尝试在POSTMAN上运行POST请求时。当我执行GET请求时,我得到了正确的结果,因为它与JSON无关。
我已经阅读了几乎所有StackOverflow解决方案但没有帮助。有人可以帮我解决这个问题吗?欢迎任何建议。
答案 0 :(得分:1)
请做:
如果没有任何帮助,请添加: