【发布时间】:2018-06-27 06:36:41
【问题描述】:
我已尝试多次重新安装 tomcat 并遵循本教程: https://www.youtube.com/watch?v=5jQSat1cKMo
但是我总是得到这个错误:
源服务器没有找到目标资源的当前表示或不愿意透露存在的表示。
此处截图:
这是我当前的 Hello.java 类:
package test;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class Hello {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayHello() {
String resource="This is some test return text";
return resource;
}
}
当前 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" id="WebApp_ID" version="3.1">
<display-name>JavaAPI</display-name>
<servlet>
<servlet-name>JavaAPI</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer.class</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>test</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JavaAPI</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
我尝试过使用和不使用以下额外导入:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
我错过了什么?
更新:
我正在使用普通的 IDE
我也在使用 Jersey JAX-RS 2.1
【问题讨论】:
-
您能否提供更多信息,例如,您是使用 maven/gradle 等构建工具还是使用 IDE。另请发布您在此项目中使用的依赖项。
-
@SukmaWardana 我已经更新了这个问题。我使用普通的 IDE 和 Jersey JAX-RS 2.1
-
可能是Tomcat本身的原因。你确定它配置正确吗?
-
那么您如何管理 JAX-RS 依赖项?您是否将它与您的项目一起发布或放在 Apache Tomcat 上?供您参考,Apache Tomcat 只是一个 servlet 容器,我建议您查看 Apache TomEE,因为它已经附带了 JAX-RS 依赖项。
-
@Laurynas 我可以在 Eclipse 之外运行 Tomcat 时使用它。 i.imgur.com/VNJQWVT.jpg