无法使用Tomcat 8和Java 8使Resteasy工作

无法使用Tomcat 8和Java 8使Resteasy工作,java,rest,tomcat,resteasy,Java,Rest,Tomcat,Resteasy,我试图使用Java8(v45)和Tomcat8(v23)创建一个简单的基于resteasy的API,但是我没有看到我的调用导致任何流量或日志活动 我的web.xml如下所示 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

我试图使用Java8(v45)和Tomcat8(v23)创建一个简单的基于resteasy的API,但是我没有看到我的调用导致任何流量或日志活动

我的web.xml如下所示

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3_0.xsd"
    version="3.0">

  <display-name>Test</display-name>

    <description>Test</description>

    <servlet>
        <servlet-name>resteasy</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>resteasy</servlet-name>
        <url-pattern>/restfulservices/*</url-pattern>
    </servlet-mapping>

    <!-- Auto scan REST service -->
    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </context-param>

    <!-- this should be the same URL pattern as the servlet-mapping property -->

    <context-param>
        <param-name>resteasy.servlet.mapping.prefix</param-name>
        <param-value>/restfulservices</param-value>
    </context-param>

    <listener>
        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>

    <resource-ref>
        <description>Oracle Datasource example</description>
        <res-ref-name>jdbc/cboxDs</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

    <!-- Environment entry examples -->
    <env-entry>
      <env-entry-name>test</env-entry-name>
      <env-entry-type>java.lang.String</env-entry-type>
      <env-entry-value>dev</env-entry-value>
    </env-entry>
  </web-app> 
部署后,当我点击以下URL时:


我希望日志中会有一些活动,但我什么也没看到。我已经验证了我的服务器在端口10120上运行,并且我的日志正常运行。有什么想法吗?

您的servlet配置映射到以/restfulservices开头的URL,如下所述:

  <servlet-mapping>
        <servlet-name>resteasy</servlet-name>
        <url-pattern>/restfulservices/*</url-pattern>
    </servlet-mapping>
@Path("/restfulservices /dihService")
public class testService {
所以它不会被找到。您需要向类映射路径添加
restfulservices
,如下所述:

  <servlet-mapping>
        <servlet-name>resteasy</servlet-name>
        <url-pattern>/restfulservices/*</url-pattern>
    </servlet-mapping>
@Path("/restfulservices /dihService")
public class testService {

我也有类似的问题。我发现在tomcat中,您总是有一个额外的路径(目前我不知道如何更改)。检查tomcat manager应用程序,您将在那里找到部署的应用程序所需的路径。然后您应该能够使用

顺便说一下,我使用了与您相同的注释结构,因此Juned的答案是不正确的

问候
斯蒂芬

谢谢朱纳德。我尝试了您的建议,但在我的日志中仍然没有看到任何内容,并且我继续收到同一URL的404错误。通常somepath是您的项目/war的名称。似乎唯一可以更改此行为的方法是将war文件重命名为所需的路径名。如果您只想让resteasy成为路径的第一部分,则需要将war文件重命名为resteasy.war。