Jersey2Config上的ClassNotFoundException(io.swagger.jersey.config.JerseyJaxrsConfig)

Jersey2Config上的ClassNotFoundException(io.swagger.jersey.config.JerseyJaxrsConfig),swagger,swagger-ui,Swagger,Swagger Ui,我已经为swagger配置了我的项目,我的项目是maven、struts和hibernate。我在pom中添加了依赖项 <!-- Swagger --> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-jersey2-jaxrs</artifactId> <

我已经为swagger配置了我的项目,我的项目是maven、struts和hibernate。我在pom中添加了依赖项

<!-- Swagger -->
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-jersey2-jaxrs</artifactId>
            <version>1.5.2</version>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-annotations</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

你能检查你的下列参数是否正确吗

  • 列表项

    <init-param>
        <param-name>swagger.api.basepath</param-name>
        <param-value>/PatientApp/services/</param-value>
    </init-param>
    
    
    swagger.api.basepath
    /病人/服务/
    
  • 通常是这样的 swagger.api.basepath

    • 你在web.xml中有servlet映射吗?二,
    • 更改jar的版本,尝试以下操作 com.wordnik swagger-jersey-jaxrs_2.10 1.3.12

    您还并没有分享web.xml中其余条目的外观。此外,我在pom.xml中没有任何排除项。您可以从下面的选项2中查看my web.xml,以了解配置的不同之处

    有两种方法可以配置JerseyJaxrsConfig

    1.在web.xml内部
    
    运动衫2配置
    io.swagger.jersey.config.jerseyjaxrconfig
    api.0版本
    1.0.0
    swagger.api.basepath
    http://localhost:8080/jax_rs/rest
    2.
    
    2.在自定义JaxrsConfig类中
    第二种方法是创建一个ConfigJava类,并从web.xml指向它。您可以在此处详细阅读:

    所有尝试都失败了。。。1-检查它是否正确,也进行了修改,但失败了2-此servlet不可用,因为它仅用于初始化,实际上不公开任何接口。3-版本也已更改,但相同-@ashaar riazclass未发现异常现在已完成,现在需要更多配置@ashaar riazcompleted,但未能添加授权标头,因此我无法在swagger ui中访问api。我面临类似问题:从localhost可以正常工作。一旦我上传到远程主机上,它就无法工作。原因:java.lang.NoSuchMethodError:com.sun.research.ws.wadl.Response.getRepresentationOrFault()Ljava/util/List;在com.sun.jersey.server.wadl.WadlGeneratorImpl.createResponse(WadlGeneratorImpl.java:198)上,如果您可以发布整个堆栈跟踪,应该会更容易提供帮助。您是否能够做到这一点?如果是,怎么做?不是@JohannesJander吗
    <filter>
            <filter-name>CorsFilter</filter-name>
            <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>CorsFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
    Oct 14, 2015 5:40:18 PM org.apache.catalina.core.ApplicationContext log
    INFO: Marking servlet Jersey2Config as unavailable
    Oct 14, 2015 5:40:18 PM org.apache.catalina.core.StandardContext loadOnStartup
    SEVERE: Servlet /PatientApp threw load() exception
    java.lang.ClassNotFoundException: io.swagger.jersey.config.JerseyJaxrsConfig
    
    <init-param>
        <param-name>swagger.api.basepath</param-name>
        <param-value>/PatientApp/services/</param-value>
    </init-param>
    
    <servlet>
        <servlet-name>Jersey2Config</servlet-name>
        <servlet-class>io.swagger.jersey.config.JerseyJaxrsConfig</servlet-class>
        <init-param>
            <param-name>api.version</param-name>
            <param-value>1.0.0</param-value>
        </init-param>
        <init-param>
            <param-name>swagger.api.basepath</param-name>
            <param-value>http://localhost:8080/jax_rs/rest</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>