簡體   English   中英

碼頭,澤西島和Maven-春季錯誤

[英]Jetty, Jersey, & Maven - Spring Error

因此,我最近開始使用maven來管理依賴關系,並開始嘗試使用Jersey來構建REST API。 我在這里遇到了很棒的教程。 此處發布類似的StackOverFlow問題,並且第一個接受的響應具有相同的Maven腳本。

我將要部署到的服務器是Jetty,因此我已經安裝了Jetty的eclipse插件(使用Jetty-9.2.5的 Eclipse Jetty 3.8.0 ),過去僅將其用於servlet就沒有問題。 當我修改pom.xml文件時,我進行了Maven-CleanMaven-安裝 ,並且在啟動時顯示的類路徑中列出的所有內容似乎都適當。

所以我不太確定為什么它沒有看到那個SpringServlet。 此外,為什么在主要使用Jetty的情況下,它們在上面的鏈接中引用了GlassFish模塊?

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>com.foo</groupId>
  <artifactId>JerseyTest</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
    <dependencies>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>9.2.5.v20141112</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>9.2.5.v20141112</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-server</artifactId>
        <version>2.7</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
        <version>2.7</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-jetty-http</artifactId>
        <version>2.7</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
        <version>2.7</version>
      </dependency>
    </dependencies>
</project>

錯誤:

2015-02-05 09:26:09.624:INFO::main: Logging initialized @102ms
   Configuration: /var/folders/25/_t5gg17n7577_b94gh4nkh700000gn/T/eclipseJettyPlugin.config.JerseyTest.xml
         Version: 9.2.5.v20141112
         Context: /
            Port: 8080
       Classpath: /Users/me/.m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar
                  /Users/me/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
                  /Users/me/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar
                  /Users/me/.m2/repository/javax/ws/rs/javax.ws.rs-api/2.0/javax.ws.rs-api-2.0.jar
                  /Users/me/.m2/repository/org/eclipse/jetty/jetty-continuation/9.1.1.v20140108/jetty-continuation-9.1.1.v20140108.jar
                  /Users/me/.m2/repository/org/eclipse/jetty/jetty-http/9.2.5.v20141112/jetty-http-9.2.5.v20141112.jar
                  /Users/me/.m2/repository/org/eclipse/jetty/jetty-io/9.2.5.v20141112/jetty-io-9.2.5.v20141112.jar
                  /Users/me/.m2/repository/org/eclipse/jetty/jetty-security/9.2.5.v20141112/jetty-security-9.2.5.v20141112.jar
                  /Users/me/.m2/repository/org/eclipse/jetty/jetty-server/9.2.5.v20141112/jetty-server-9.2.5.v20141112.jar
                  /Users/me/.m2/repository/org/eclipse/jetty/jetty-servlet/9.2.5.v20141112/jetty-servlet-9.2.5.v20141112.jar
                  /Users/me/.m2/repository/org/eclipse/jetty/jetty-util/9.2.5.v20141112/jetty-util-9.2.5.v20141112.jar
                  /Users/me/.m2/repository/org/eclipse/persistence/org.eclipse.persistence.antlr/2.5.0/org.eclipse.persistence.antlr-2.5.0.jar
                  /Users/me/.m2/repository/org/eclipse/persistence/org.eclipse.persistence.asm/2.5.0/org.eclipse.persistence.asm-2.5.0.jar
                  /Users/me/.m2/repository/org/eclipse/persistence/org.eclipse.persistence.core/2.5.0/org.eclipse.persistence.core-2.5.0.jar
                  /Users/me/.m2/repository/org/eclipse/persistence/org.eclipse.persistence.moxy/2.5.0/org.eclipse.persistence.moxy-2.5.0.jar
                  /Users/me/.m2/repository/org/glassfish/hk2/external/aopalliance-repackaged/2.2.0/aopalliance-repackaged-2.2.0.jar
                  /Users/me/.m2/repository/org/glassfish/hk2/external/javax.inject/2.2.0/javax.inject-2.2.0.jar
                  /Users/me/.m2/repository/org/glassfish/hk2/hk2-api/2.2.0/hk2-api-2.2.0.jar
                  /Users/me/.m2/repository/org/glassfish/hk2/hk2-locator/2.2.0/hk2-locator-2.2.0.jar
                  /Users/me/.m2/repository/org/glassfish/hk2/hk2-utils/2.2.0/hk2-utils-2.2.0.jar
                  /Users/me/.m2/repository/org/glassfish/hk2/osgi-resource-locator/1.0.1/osgi-resource-locator-1.0.1.jar
                  /Users/me/.m2/repository/org/glassfish/jersey/bundles/repackaged/jersey-guava/2.7/jersey-guava-2.7.jar
                  /Users/me/.m2/repository/org/glassfish/jersey/containers/jersey-container-jetty-http/2.7/jersey-container-jetty-http-2.7.jar
                  /Users/me/.m2/repository/org/glassfish/jersey/containers/jersey-container-servlet-core/2.7/jersey-container-servlet-core-2.7.jar
                  /Users/me/.m2/repository/org/glassfish/jersey/core/jersey-client/2.7/jersey-client-2.7.jar
                  /Users/me/.m2/repository/org/glassfish/jersey/core/jersey-common/2.7/jersey-common-2.7.jar
                  /Users/me/.m2/repository/org/glassfish/jersey/core/jersey-server/2.7/jersey-server-2.7.jar
                  /Users/me/.m2/repository/org/glassfish/jersey/ext/jersey-entity-filtering/2.7/jersey-entity-filtering-2.7.jar
                  /Users/me/.m2/repository/org/glassfish/jersey/media/jersey-media-moxy/2.7/jersey-media-moxy-2.7.jar
                  /Users/me/.m2/repository/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar
                  /Users/me/Documents/workspace/JerseyTest/target/classes
2015-02-05 09:26:09.967:INFO:oejs.Server:main: jetty-9.2.5.v20141112
2015-02-05 09:26:11.199:WARN:oeja.AnnotationConfiguration:main: ServletContainerInitializers: detected. Class hierarchy: empty
2015-02-05 09:26:11.382:WARN:oejs.SecurityHandler:main: ServletContext@o.e.j.w.WebAppContext@1ed4004b{/,file:/Users/me/Documents/workspace/JerseyTest/src/main/webapp/,STARTING}{/Users/me/Documents/workspace/JerseyTest/src/main/webapp} has uncovered http methods for path: /
2015-02-05 09:26:11.412:WARN:oejs.BaseHolder:main: 
java.lang.ClassNotFoundException: com.sun.jersey.spi.spring.container.servlet.SpringServlet

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">


<servlet>
    <servlet-name>rest.service</servlet-name>
    <servlet-class>
        com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
        <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.foo.servlets</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>rest.service</servlet-name>
    <url-pattern>/service/*</url-pattern>
</servlet-mapping>

</web-app>

謝謝!

您只是缺少正確的工件。

在您的項目中根本沒有對servlet com.sun.jersey.spi.spring.container.servlet.SpringServlet的引用。

在search.maven.org上快速搜索com.sun.jersey.spi.spring.container.servlet.SpringServlet顯示包含該類的工件。

您可能會丟失依賴性,或者您不應該在安裝時使用該特定的servlet。 由您決定以哪種方式撥打電話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM