我正在为我的应用程序制作一个简单的 RESTful API。我在我的项目中制作了另一个包(另一个包是我的主要 java 类、servlet 和模型)。然后我制作了我的资源文件,非常简单,如下所示:package com.java.api;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.core.Response;@Path("webservice")public class ZipcodeService { @GET @Path("/lookup") public Response lookup() { return Response.ok().entity("Los Angeles").build(); }}这是我的 web.xml:<?xml version="1.0" encoding="UTF-8"?><web-app version="3.1" id="WebApp_ID" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <display-name>parking-space-booking-system</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Jersey Web Application</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>com.java.api</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey Web Application</servlet-name> <url-pattern>/webservice/*</url-pattern> </servlet-mapping></web-app>我没有使用 Maven。我正在使用 Netbeans IDE 和 Tomcat 服务器。我将 Jersey 2.25 的所有 jar 文件上传到 WEB-INF/lib 文件夹。我正在尝试使用 web.xml 来修复它,但我没有更多的想法。这是我的项目的结构:
2 回答
慕少森
TA贡献2019条经验 获得超9个赞
您需要查看(并发布)您的 Tomcat 日志。看看catalina.out
。在我看来,您的 web.xml 没有关闭 web-app 标签,但这可能只是因为您没有发布完整的 web.xml。
此外,您需要将应用程序打包为 WAR 文件。Tomcat 期望您的 Web 应用程序 WAR 文件位于该webapps
目录下。
编辑:
未找到该方法,因此相应的 JAR 实际上不在类路径(lib 文件夹)中。
org.glassfish.jersey.CommonProperties.getValue
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
也许你的库有问题。
root cause
java.lang.NoSuchMethodError: org.glassfish.jersey.CommonProperties.getValue(..
服务器初始化表明您忘记添加一些库(可能它不在您的 Jersey 2.25 中,请检查它)。您也可以尝试使用其他版本的 Jersey。
添加回答
举报
0/150
提交
取消