2016-10-18 67 views
0

試了2 3天之後,我有點累了,在這個論壇上提問。有類似的問題和解決方案,但沒有任何工作爲我。 我做了所有的配置,提到但招搖UI快到了我的休息服務spring mvc 4 and swagger 2 intergation not working

***WebInitializer.java*** 

public class WebInitializer implements WebApplicationInitializer { 

public void onStartup(ServletContext servletContext) throws ServletException { 

    AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); 
    ctx.register(Config.class); 
    ctx.setServletContext(servletContext);  

    Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx)); 
    servlet.addMapping("/"); 
    servlet.setLoadOnStartup(1); 

} 

}

Config.java

@Configuration 
@ComponentScan("com.javahash.spring") 
@EnableWebMvc 
@EnableSwagger2 
public class Config extends WebMvcConfigurerAdapter{ 

@Bean 
public UrlBasedViewResolver setupViewResolver() { 
    UrlBasedViewResolver resolver = new UrlBasedViewResolver(); 
    resolver.setPrefix("/WEB-INF/views/"); 
    resolver.setSuffix(".jsp"); 
    resolver.setViewClass(JstlView.class); 
    return resolver; 
} 

@Override 
public void addResourceHandlers(final ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
    registry.addResourceHandler("swagger-ui.html") 
    .addResourceLocations("classpath:/META-INF/resources/"); 

    registry.addResourceHandler("/webjars/**") 
    .addResourceLocations("classpath:/META-INF/resources/webjars/"); 

} 

@Override 
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { 
    configurer.enable(); 
} 

@Bean 
public Docket api() { 
    return new Docket(DocumentationType.SWAGGER_2) 
     .select()         
     .apis(RequestHandlerSelectors.any())    
     .paths(PathSelectors.any())       
     .build(); 
} 

} 

的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/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.abc</groupId> 
<artifactId>RE</artifactId> 
<packaging>war</packaging> 
<version>1.0-SNAPSHOT</version> 
<name>RE Maven Webapp</name> 
<url>http://maven.apache.org</url> 
<properties> 
    <spring.version>4.2.8.RELEASE</spring.version> 
    <org.slf4j-version>1.7.12</org.slf4j-version> 
    <jackson.version>2.8.0</jackson.version> 
</properties> 
<dependencies> 

    <!-- https://mvnrepository.com/artifact/junit/junit --> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>${jackson.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger-ui</artifactId> 
     <version>2.6.0</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger2</artifactId> 
     <version>2.6.0</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>18.0</version> 
    </dependency> 
</dependencies> 
<build> 
    <finalName>RE</finalName> 
</build> 
</project> 
+0

請檢查答案,可能是有用的:-http://stackoverflow.com/a/42922167/2357869 –

回答

0

看來,maven不會自動從swgger依賴項加載webjars。當我添加webjars時,它工作正常。

<dependency> 
     <groupId>org.webjars</groupId> 
     <artifactId>bootstrap</artifactId> 
     <version>4.0.0-alpha.3</version> 
    </dependency> 
相關問題