错误分析:
1、引入的Jar不够。
Spring MVC 和Swagger2的集成Jar
<!-- springmvc和swagger集成 -->
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-models</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
<version>1.5.1</version>
</dependency>
Swagger2的jar包
<properties>
<io.springfox.swagger2>2.6.1</io.springfox.swagger2>
</properties>
<!-- swagger-Ui 配置,使用2.6.1版本 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${io.springfox.swagger2}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${io.springfox.swagger2}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.5</version>
</dependency>
2、servlet-mapping的url请求的路径问题。
我的项目中的请求路径是
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
<url-pattern>/</url-pattern>
</servlet-mapping>
因为路径是*.do.所以在访问http://ip:port/projectName/swagger-ui.html这个路径的时候访问不到。
<!--重要!配置swagger资源不被拦截-->
<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/" />
<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/" />
<context:property-placeholder location="classpath:swagger.properties" file-encoding="UTF-8"/>
<!--重要!将你的SwaggerConfig配置类注入-->
<bean id="swaggerConfig" class="com.bolijiang3d.program.config.SwaggerConfig"/>