使用Jersey建立REST服务

时间:2018-09-08 06:25:04

标签: jersey

我试图将我的REST Web服务从1.17.1升级到1.19,这很麻烦,因为要正确地进行构建很困难。不管任何来源都没有更改,服务不会每次都出现多个错误消息。

这是我项目的 pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>API</groupId>
  <artifactId>API</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <dependencies>
  <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-core -->
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.19</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-server -->
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.19</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-servlet -->
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>1.19</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-json -->
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>1.19</version>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>src,resources</sourceDirectory>
    <plugins>   
      <plugin>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.3.0.M2</version>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

这是我启动Web服务时的错误。

  

javax.servlet.ServletException:Servlet CcxAPI的Servlet.init()抛出异常           org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)           org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)           org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)           org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)           org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)           org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)           org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:789)           org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1437)           org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)           java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)           java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)           org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)           java.lang.Thread.run(Thread.java:748)

     

根本原因
      com.sun.jersey.api.container.ContainerException:ResourceConfig实例不包含任何根资源类。           com.sun.jersey.server.impl.application.RootResourceUriRules。(RootResourceUriRules.java:99)           com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359)           com.sun.jersey.server.impl.application.WebApplicationImpl.access $ 700(WebApplicationImpl.java:180)           com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:799)           com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:795)           com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)           com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)           com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)           com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)           com.sun.jersey.spi.container.servlet.ServletContainer $ InternalWebComponent.initiate(ServletContainer.java:339)           com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)           com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)           com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)           com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)           javax.servlet.GenericServlet.init(GenericServlet.java:158)           org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)           org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)           org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)           org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)           org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)           org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)           org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:789)           org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1437)           org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)           java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)           java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)           org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)           java.lang.Thread.run(Thread.java:748)

我在这里错过了什么吗?我敢肯定,很多人都应该面对这些问题。请提供建议以解决此问题。

0 个答案:

没有答案