代码之家  ›  专栏  ›  技术社区  ›  Elias

如何在web中配置swagger。xml

  •  1
  • Elias  · 技术社区  · 7 年前

    我试图在我的项目中实现swagger文档,并在我的

    网状物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>Test</display-name>
        <welcome-file-list>
            <welcome-file>/login</welcome-file>
        </welcome-file-list>
        <servlet>
            <servlet-name>dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:/spring-config.xml
                </param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
    
        <servlet>
            <servlet-name>Jersey2Config</servlet-name>
            <servlet-class>io.swagger.jaxrs.config.DefaultJaxrsConfig</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/api</param-value>
            </init-param>
            <load-on-startup>2</load-on-startup>
        </servlet>
    
    
        <servlet-mapping>
            <servlet-name>dispatcher</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    
    
    
        <filter>
            <filter-name>springSecurityFilterChain</filter-name>
            <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>springSecurityFilterChain</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    
    
    
        <error-page>
            <location>/loginError</location>
        </error-page>
    
    
    </web-app>
    

    Sep 08, 2017 2:50:46 PM org.apache.catalina.core.StandardContext loadOnStartup
    SEVERE: Servlet [Jersey2Config] in web application [/Equadis_Web_Application] threw load() exception
    java.lang.ClassNotFoundException: io.swagger.jaxrs.config.DefaultJaxrsConfig
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
        at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:512)
        at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:493)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1050)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4931)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5241)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
    

    我使用下面的jar文件

    需要帮忙吗?关于如何做到这一点,有没有明确的例子?

    注:我没有使用maven,所以我没有pom。xml文件

    2 回复  |  直到 7 年前
        1
  •  0
  •   Janar    7 年前

    swagger-ui-2.0.12.jar 不包含您需要的类。 io.swagger.jaxrs.config.DefaultJaxrsConfig 在中 swagger-jaxrs.jar .

        2
  •  0
  •   Elias    7 年前

    弹簧配置。xml

            <mvc:default-servlet-handler/>
            <mvc:annotation-driven/>
            <mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"></mvc:resources>
            <mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"></mvc:resources>
            <bean class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration" id="swagger2Config"/>