I have been trying to host Spring Boot application on WebSphere server.
Versions :
- SpringBoot 2.1.6.RELEASE
- WebSphere Liberty 19.0.0.6 with JavaEE 8
- webjars-locator 0.36
The app was successfuly deployed on standalone Tomcat 9.0.22 and webjars could be resolved there. However for WebSphere I receive an error when trying to access webjars from html page :
2019-08-05 10:43:11.839 DEBUG 1 --- [ecutor-thread-6] o.s.web.servlet.DispatcherServlet : GET "/appcontext/webjars/jquery/jquery.min.js", parameters={}
2019-08-05 10:43:11.845 DEBUG 1 --- [ecutor-thread-6] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler ["classpath:/META-INF/resources/webjars/"]
2019-08-05 10:43:11.849 DEBUG 1 --- [ecutor-thread-6] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found
2019-08-05 10:43:11.849 DEBUG 1 --- [ecutor-thread-6] o.s.web.servlet.DispatcherServlet : Completed 404 NOT_FOUND
And the webjars pattern was successfuly mapped by Spring :
2019-08-05 10:43:09.039 DEBUG 1 --- [ecutor-thread-6] o.s.w.s.handler.SimpleUrlHandlerMapping : Patterns [/webjars/**, /**] in 'resourceHandlerMapping'
The solution for this is to add
classloadingentry, withuseJarUrlsattribute set totrue, to WebSphereserver.xmlfile :This
IBM support issuewas particulary helpful in solving this problem.