Velvet Star Monitor

Standout celebrity highlights with iconic style.

news

Failed to start bean 'documentationPluginsBootstrapper' in spring data rest

Writer Mia Lopez

I am using spring data rest for my application.

I am getting following error and application doesn't get started when I add this method in repository:-

Method:-

@Modifying
@Transactional
@Query("from employee as ft where ft.company.id = ?1")
void deleteAllEmployeeCompany( @Param("companyId") @RequestParam("companyId") int companyId);

Error:-

org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:176) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:51) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:346) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:149) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:112) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:874) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:144) ~[spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) ~[spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE]

How to solve this ?

Updated:-

List of all dependencies:-

[INFO] com.test:test-service:jar:0.0.1-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:1.4.1.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.4.1.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:1.4.1.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.4.1.RELEASE:compile
[INFO] | | \- org.springframework.boot:spring-boot-starter-logging:jar:1.4.1.RELEASE:compile
[INFO] | | +- ch.qos.logback:logback-classic:jar:1.1.7:compile
[INFO] | | | \- ch.qos.logback:logback-core:jar:1.1.7:compile
[INFO] | | +- org.slf4j:jul-to-slf4j:jar:1.7.21:compile
[INFO] | | \- org.slf4j:log4j-over-slf4j:jar:1.7.21:compile
[INFO] | \- org.springframework.boot:spring-boot-actuator:jar:1.4.1.RELEASE:compile
[INFO] | \- org.springframework:spring-context:jar:4.3.3.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.1.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:1.4.1.RELEASE:compile
[INFO] | | \- org.springframework:spring-aop:jar:4.3.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.1.RELEASE:compile
[INFO] | | +- org.apache.tomcat:tomcat-jdbc:jar:8.5.5:compile
[INFO] | | | \- org.apache.tomcat:tomcat-juli:jar:8.5.5:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:4.3.3.RELEASE:compile
[INFO] | +- org.hibernate:hibernate-core:jar:5.0.11.Final:compile
[INFO] | | +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] | | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] | | +- antlr:antlr:jar:2.7.7:compile
[INFO] | | +- org.jboss:jandex:jar:2.0.0.Final:compile
[INFO] | | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | | | \- xml-apis:xml-apis:jar:1.4.01:compile
[INFO] | | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] | +- org.hibernate:hibernate-entitymanager:jar:5.0.11.Final:compile
[INFO] | +- javax.transaction:javax.transaction-api:jar:1.2:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:1.10.3.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons:jar:1.12.3.RELEASE:compile
[INFO] | | +- org.springframework:spring-orm:jar:4.3.3.RELEASE:compile
[INFO] | | +- org.springframework:spring-tx:jar:4.3.3.RELEASE:compile
[INFO] | | +- org.springframework:spring-beans:jar:4.3.3.RELEASE:compile
[INFO] | | \- org.slf4j:jcl-over-slf4j:jar:1.7.21:compile
[INFO] | \- org.springframework:spring-aspects:jar:4.3.3.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-rest:jar:1.4.1.RELEASE:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.3:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.3:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.8.3:compile
[INFO] | \- org.springframework.data:spring-data-rest-webmvc:jar:2.5.3.RELEASE:compile
[INFO] | \- org.springframework.data:spring-data-rest-core:jar:2.5.3.RELEASE:compile
[INFO] | \- org.atteo:evo-inflector:jar:1.2.1:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.4.1.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.4.1.RELEASE:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.5:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.5:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.5:compile
[INFO] | +- org.hibernate:hibernate-validator:jar:5.2.4.Final:compile
[INFO] | | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] | +- org.springframework:spring-web:jar:4.3.3.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:4.3.3.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:4.3.3.RELEASE:compile
[INFO] +- org.springframework.cloud:spring-cloud-starter-eureka:jar:1.1.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-starter:jar:1.1.0.RELEASE:compile
[INFO] | | +- org.springframework.cloud:spring-cloud-context:jar:1.1.0.RELEASE:compile
[INFO] | | | \- org.springframework.security:spring-security-crypto:jar:4.1.3.RELEASE:compile
[INFO] | | +- org.springframework.cloud:spring-cloud-commons:jar:1.1.0.RELEASE:compile
[INFO] | | \- org.springframework.security:spring-security-rsa:jar:1.0.1.RELEASE:compile
[INFO] | | \- org.bouncycastle:bcpkix-jdk15on:jar:1.47:compile
[INFO] | | \- org.bouncycastle:bcprov-jdk15on:jar:1.47:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-core:jar:1.1.0.RELEASE:compile
[INFO] | +- org.springframework.cloud:spring-cloud-netflix-eureka-client:jar:1.1.0.RELEASE:compile
[INFO] | +- com.netflix.eureka:eureka-client:jar:1.4.6:compile
[INFO] | | +- org.codehaus.jettison:jettison:jar:1.3.7:runtime
[INFO] | | | \- stax:stax-api:jar:1.0.1:runtime
[INFO] | | +- com.netflix.netflix-commons:netflix-eventbus:jar:0.3.0:runtime
[INFO] | | +- com.netflix.archaius:archaius-core:jar:0.7.4:compile
[INFO] | | +- javax.ws.rs:jsr311-api:jar:1.1.1:runtime
[INFO] | | +- com.netflix.servo:servo-core:jar:0.10.1:runtime
[INFO] | | | \- com.netflix.servo:servo-internal:jar:0.10.1:runtime
[INFO] | | +- com.sun.jersey:jersey-core:jar:1.19.1:runtime
[INFO] | | +- com.sun.jersey:jersey-client:jar:1.19.1:runtime
[INFO] | | +- com.sun.jersey.contribs:jersey-apache-client4:jar:1.19.1:runtime
[INFO] | | +- org.apache.httpcomponents:httpclient:jar:4.5.2:compile
[INFO] | | | +- org.apache.httpcomponents:httpcore:jar:4.4.5:compile
[INFO] | | | \- commons-codec:commons-codec:jar:1.10:compile
[INFO] | | +- com.google.inject:guice:jar:4.0:runtime
[INFO] | | | +- javax.inject:javax.inject:jar:1:runtime
[INFO] | | | \- aopalliance:aopalliance:jar:1.0:runtime
[INFO] | | \- com.netflix.governator:governator-api:jar:1.12.10:runtime
[INFO] | +- com.netflix.eureka:eureka-core:jar:1.4.6:compile
[INFO] | | +- com.amazonaws:aws-java-sdk-core:jar:1.10.30:runtime
[INFO] | | +- com.amazonaws:aws-java-sdk-ec2:jar:1.10.30:runtime
[INFO] | | +- com.amazonaws:aws-java-sdk-autoscaling:jar:1.9.3:runtime
[INFO] | | +- com.amazonaws:aws-java-sdk-sts:jar:1.9.3:runtime
[INFO] | | +- com.amazonaws:aws-java-sdk-route53:jar:1.9.3:runtime
[INFO] | | +- com.netflix.governator:governator:jar:1.12.10:runtime
[INFO] | | | +- com.netflix.governator:governator-core:jar:1.12.10:runtime
[INFO] | | | \- org.ow2.asm:asm:jar:5.0.4:compile
[INFO] | | \- org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1:runtime
[INFO] | | +- javax.xml.stream:stax-api:jar:1.0-2:runtime
[INFO] | | \- org.codehaus.woodstox:stax2-api:jar:3.1.4:runtime
[INFO] | +- org.springframework.cloud:spring-cloud-starter-archaius:jar:1.1.0.RELEASE:compile
[INFO] | | \- commons-configuration:commons-configuration:jar:1.8:compile
[INFO] | | +- commons-lang:commons-lang:jar:2.6:compile
[INFO] | | \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] | +- org.springframework.cloud:spring-cloud-starter-ribbon:jar:1.1.0.RELEASE:compile
[INFO] | | +- com.netflix.ribbon:ribbon:jar:2.1.5:compile
[INFO] | | | +- com.netflix.ribbon:ribbon-transport:jar:2.1.5:runtime
[INFO] | | | | +- io.reactivex:rxnetty-contexts:jar:0.4.9:runtime
[INFO] | | | | \- io.reactivex:rxnetty-servo:jar:0.4.9:runtime
[INFO] | | | \- io.reactivex:rxnetty:jar:0.4.9:runtime
[INFO] | | | +- io.netty:netty-codec-http:jar:4.0.27.Final:runtime
[INFO] | | | | +- io.netty:netty-codec:jar:4.0.27.Final:runtime
[INFO] | | | | \- io.netty:netty-handler:jar:4.0.27.Final:runtime
[INFO] | | | \- io.netty:netty-transport-native-epoll:jar:4.0.27.Final:runtime
[INFO] | | | +- io.netty:netty-common:jar:4.0.27.Final:runtime
[INFO] | | | +- io.netty:netty-buffer:jar:4.0.27.Final:runtime
[INFO] | | | \- io.netty:netty-transport:jar:4.0.27.Final:runtime
[INFO] | | +- com.netflix.ribbon:ribbon-core:jar:2.1.5:compile
[INFO] | | +- com.netflix.ribbon:ribbon-httpclient:jar:2.1.5:compile
[INFO] | | | \- com.netflix.netflix-commons:netflix-commons-util:jar:0.1.1:runtime
[INFO] | | +- com.netflix.ribbon:ribbon-loadbalancer:jar:2.1.5:compile
[INFO] | | | \- com.netflix.netflix-commons:netflix-statistics:jar:0.1.1:runtime
[INFO] | | \- io.reactivex:rxjava:jar:1.1.5:compile
[INFO] | +- com.netflix.ribbon:ribbon-eureka:jar:2.1.5:compile
[INFO] | \- com.thoughtworks.xstream:xstream:jar:1.4.2:compile
[INFO] | +- xmlpull:xmlpull:jar:1.1.3.1:compile
[INFO] | \- xpp3:xpp3_min:jar:1.1.4c:compile
[INFO] +- org.springframework.boot:spring-boot-starter-amqp:jar:1.4.1.RELEASE:compile
[INFO] | +- org.springframework:spring-messaging:jar:4.3.3.RELEASE:compile
[INFO] | \- org.springframework.amqp:spring-rabbit:jar:1.6.2.RELEASE:compile
[INFO] | +- com.rabbitmq:amqp-client:jar:3.6.3:compile
[INFO] | +- org.springframework.retry:spring-retry:jar:1.1.4.RELEASE:compile
[INFO] | +- com.rabbitmq:http-client:jar:1.0.0.RELEASE:compile
[INFO] | \- org.springframework.amqp:spring-amqp:jar:1.6.2.RELEASE:compile
[INFO] +- com.netflix.hystrix:hystrix-javanica:jar:1.3.16:compile
[INFO] | +- commons-collections:commons-collections:jar:3.2.2:compile
[INFO] | +- org.aspectj:aspectjweaver:jar:1.8.9:compile
[INFO] | +- com.google.guava:guava:jar:18.0:compile
[INFO] | +- com.netflix.hystrix:hystrix-core:jar:1.5.2:compile
[INFO] | | \- org.hdrhistogram:HdrHistogram:jar:2.1.7:compile
[INFO] | \- org.apache.commons:commons-lang3:jar:3.1:compile
[INFO] +- com.netflix.hystrix:hystrix-metrics-event-stream:jar:1.3.16:compile
[INFO] | \- org.codehaus.jackson:jackson-core-asl:jar:1.9.2:compile
[INFO] +- io.springfox:springfox-swagger2:jar:2.6.0:compile
[INFO] | +- io.swagger:swagger-annotations:jar:1.5.10:compile
[INFO] | +- io.swagger:swagger-models:jar:1.5.10:compile
[INFO] | +- io.springfox:springfox-spi:jar:2.6.0:compile
[INFO] | | \- io.springfox:springfox-core:jar:2.6.0:compile
[INFO] | +- io.springfox:springfox-schema:jar:2.6.0:compile
[INFO] | +- io.springfox:springfox-swagger-common:jar:2.6.0:compile
[INFO] | +- io.springfox:springfox-spring-web:jar:2.6.0:compile
[INFO] | +- com.fasterxml:classmate:jar:1.3.1:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.7.21:compile
[INFO] | +- org.springframework.plugin:spring-plugin-core:jar:1.2.0.RELEASE:compile
[INFO] | +- org.springframework.plugin:spring-plugin-metadata:jar:1.2.0.RELEASE:compile
[INFO] | \- org.mapstruct:mapstruct:jar:1.0.0.Final:compile
[INFO] +- io.springfox:springfox-swagger-ui:jar:2.6.0:compile
[INFO] +- io.springfox:springfox-data-rest:jar:2.6.0:compile
[INFO] | \- org.springframework.hateoas:spring-hateoas:jar:0.20.0.RELEASE:compile
[INFO] +- org.liquibase:liquibase-core:jar:3.5.1:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.17:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.34:runtime
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:1.4.1.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:1.4.1.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:1.4.1.RELEASE:test
[INFO] | +- junit:junit:jar:4.12:test
[INFO] | +- org.assertj:assertj-core:jar:2.5.0:test
[INFO] | +- org.mockito:mockito-core:jar:1.10.19:test
[INFO] | | \- org.objenesis:objenesis:jar:2.1:test
[INFO] | +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] | +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] | +- org.skyscreamer:jsonassert:jar:1.3.0:test
[INFO] | | \- org.json:json:jar:20140107:test
[INFO] | +- org.springframework:spring-core:jar:4.3.3.RELEASE:compile
[INFO] | \- org.springframework:spring-test:jar:4.3.3.RELEASE:test
[INFO] +- com.jayway.jsonpath:json-path:jar:2.2.0:compile
[INFO] | \- net.minidev:json-smart:jar:2.2.1:compile
[INFO] | \- net.minidev:accessors-smart:jar:1.1:compile
[INFO] \- org.reflections:reflections:jar:0.9.10:compile
[INFO] +- org.javassist:javassist:jar:3.20.0-GA:compile
[INFO] \- com.google.code.findbugs:annotations:jar:2.0.1:compile
2

25 Answers

I got same issue using springfox-swagger2 and springfox-swagger-ui version(3.0.0), spring-boot version(2.6.2)

The way to resolve this issue is by adding pathmatcher in application. properties or application.yml

for application.properties:

spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER

for application.yml:

spring: mvc: pathmatch: matching-strategy: ant_path_matcher
9

This issue is caused by Spring Fox 3.0.0 not supporting new PathPattern Based Path Matching Strategy for Spring MVC which is now the new default from spring-boot 2.6.0.

There are actually some workarounds for this issue like:

  1. Downgrading spring-boot back to version lower than 2.6.0. I wouldn't recommend that due to major security issues with older versions of spring boot / spring framework (like log4shell or CVE-2022-22965 for example.)
  2. Changing PathPattern matching back to AntPatternMatching in yml, like mentioned by @santhanam.
  3. SpringFox hasn't been updated for a year or so, so I would prefer remove it completely from a project and replace it with maintained springdoc-openapi library. There is a section in springdoc documentation about migration from SpringFox and it's actually very straightforward to perform. And you'll get rid of issues caused by SpringFox completely.
4

I got same issue using springfox-swagger2 and springfox-swagger-uiSwitching back spring boot version from 2.6.0 to 2.5.2 Solved my issue.

I know rolling back to older versions is not the best way to fix issues but helped me for now.

6

what I found was that spring is using mvcmatchers by default which conflicts with swagger because it uses the antmatchers so we can solve this by

A

change spring to use antmatchers with configuring it in application.properties

spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER

B

enabling mvcmatchers in spring creating a config file for swagger to use

  1. create a file for configs of swagger in anywhere you want
  2. put these annotations
@EnableWebMvc
@EnableSwagger2
@Component
public class SwaggersConfigs {
}

C

enableing mvcmatchers in all spring application with putting @EnableWebMvc annotation above the main class of spring boot aplication like this

@EnableWebMvc
@EnableSwagger2
@SpringBootApplication
public class SwaggerDemoApplication { public static void main(String[] args) { SpringApplication.run(SwaggerDemoApplication.class, args); }
}

D

use older versions metioned in the other comments

I have got the same issue in spring boot version 1.5.3.RELEASE, but could resolve it by adding guava version 20.0.

 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>20.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>

The reason for the error is swagger and spring-boot The version does not match

Remove All other dependencies and include only below one for swagger

<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version>
</dependency>

Add below Configurations :

For application.properties

spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER

For application.yml

spring: mvc: pathmatch: matching-strategy: ant_path_matcher

With Spring-Boot 2.6.0 and SpringFox 3.0.0 issue is pathmatcher, you can set pathmach with below property and this issue will be resolved

 spring: mvc: pathmatch: matching-strategy: ant_path_matcher

a work around is to rollback to springfox-swagger2 2.5.0 .

3

In addition to setting the matching-strategy property, as mentioned by other answers, I also had to add the below bean to overcome this:

@Bean
public WebMvcEndpointHandlerMapping webEndpointServletHandlerMapping(WebEndpointsSupplier webEndpointsSupplier, ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier controllerEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, CorsEndpointProperties corsProperties, WebEndpointProperties webEndpointProperties, Environment environment) { List<ExposableEndpoint<?>> allEndpoints = new ArrayList(); Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints(); allEndpoints.addAll(webEndpoints); allEndpoints.addAll(servletEndpointsSupplier.getEndpoints()); allEndpoints.addAll(controllerEndpointsSupplier.getEndpoints()); String basePath = webEndpointProperties.getBasePath(); EndpointMapping endpointMapping = new EndpointMapping(basePath); boolean shouldRegisterLinksMapping = this.shouldRegisterLinksMapping(webEndpointProperties, environment, basePath); return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints, endpointMediaTypes, corsProperties.toCorsConfiguration(), new EndpointLinksResolver(allEndpoints, basePath), shouldRegisterLinksMapping, null);
}
private boolean shouldRegisterLinksMapping(WebEndpointProperties webEndpointProperties, Environment environment, String basePath) { return webEndpointProperties.getDiscovery().isEnabled() && (StringUtils.hasText(basePath) || ManagementPortType.get(environment).equals(ManagementPortType.DIFFERENT));
}

Solution found here.

i got similar issue and it was solved after follow Springboot 2.6.0 / Spring fox 3 - Failed to start bean 'documentationPluginsBootstrapper'

i was using spring 2.6.1 and springfox-swagger2 2.9.2. "setting spring.mvc.pathmatch.matching-strategy to ant-path-matcher in your application.properties file"

1

With Spring-Boot 2.6.2 issue is pathmatcher, you can set pathmach with below property in application.properties file and this issue will be resolved

"spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER"

1

I added @EnableWebMvc as decorator to my SwaggerConfig, which solved to problem.

@EnableWebMvc
public class SwaggerConfig {}

Versions: Sprint 2.6.1 and springfox-swagger* 2.9.2

this works Springboot version 2.6.0 and higher does not support swagger 2 Remove springfox and swagger 2 dependencies. Add springdoc-openapi-ui dependency instead.

 <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.6</version> </dependency>

add this to your application.properties file

spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER

after that navigate to

This worked for me

This solution fixed the issue along with the below property

spring.mvc.pathmatch.matching-strategy=ant_path_matcher

I'm using spring boot 2.6.6

For me the issue seemed to be attempting to pass in an argument to a controller action (for a controller annotated with RestController) that was not getting resolved.

e.g.

@ResponseBody
@PostMapping(value = "/foo")
com.bestbuy.checkout.domain.Order foo( Bar justSomeObject
) {

As per : solution, I tried adding exclusion to recently added Lettuce library and it is working fine now. Only springfox guava dependency should be coming. As per this question something like below will work:

<dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hystrix-javanica</artifactId> <version>1.3.16</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions>
</dependency>

I also had an issue like that in gradle. I solved it by removing all guava dependencies from springfox subdependecies:

implementation('io.springfox:springfox-spi:2.9.2') { exclude group: 'com.google.guava', module: 'guava'
}
implementation('io.springfox:springfox-schema:2.9.2') { exclude group: 'com.google.guava', module: 'guava'
}
implementation('io.springfox:springfox-spring-web:2.9.2') { exclude group: 'com.google.guava', module: 'guava'
}

and implemented guava separately:

implementation('com.google.guava:guava:28.1-jre')

My spring-boot version:

2.5.0-SNAPSHOT

Reducing the version of my project helped me. Initially, I was using spring 2.6.0 but I moved to 2.5.2 and it solves the issue.

As per official doc, adding below property in yaml resolved the issue for me.

springfox: documentation: auto-startup: false
1

removing old swagger dependencies and config classes. using new springdoc dependency will help

 <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.4</version> </dependency>

The general reason is that due to the springboot versioning, the default strategy for matching the request path and spring MVC processing mapping has been changed from antpathmatcher to pathpatternparser. This can be resolved by editing the properties.yml and adding

spring: mvc: pathmatch: matching-strategy: ant_path_matcher

Change your query to

@Modifying
@Transactional
@Query("from employee as ft where ft.company.id = :companyId")
void deleteAllEmployeeCompany( @Param("companyId") @RequestParam("companyId") int companyId);

Or with SpEL

@Modifying
@Transactional
@Query("from employee as ft where ft.company.id = ?#{companyId}")
void deleteAllEmployeeCompany( @Param("companyId") @RequestParam("companyId") int companyId);

Check this

13

Downgrading the Springboot version from 2.6.0 to 2.5.4 solves the issue, provided the below swagger version

 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>

I have a mircoservice environment, and I was adding swagger to all of them. I had the same issue, the solution @Santhanam worked for all the services except one. The service had spring-boot-starter-actuator as a dependency. Problem fixed by removing it.

It seems the config spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER does not affect Spring Actuator auto-generated paths.

For those who tried other answers and still have the problem, the solution is to remove Spring Actuator or to configure it in a way to use ANT_PATH_MATCHER as matching strategy.

Guys i solved the issue easily.What we need to know is that Sprinfox is no more up to date (for more info click on this link : ). Nowadays, you can use sprind-doc, by remplacing spring-fox dependencies with this dependency :
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.8</version>
</dependency>
then add also this beans :
@Bean public GroupedOpenApi publicApi() { return GroupedOpenApi.builder() .group("springshop-public") .pathsToMatch("/public/**") .build(); } @Bean public GroupedOpenApi adminApi() { return GroupedOpenApi.builder() .group("springshop-admin") .pathsToMatch("/**") .build(); }
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy