티스토리 뷰

728x90

1. WebJars는 jQuery나 Bootstrap같은 static 라이브러리를 다운로드하고 설치하는 번거로움을 제거해 준다.

 

2. 문제는 인터넷을 찾아보면 사용하는 코드는 있는데 설정하는 방법은 잘 나오지 않는다.

 

3. 일반적으로 mvn repository에서 찾아 pom.xml에 붙이면 동작하는데, 가끔은 404에러가 뜨고 찾지 못할 때가 있다.

  3-1 이전에는 되었는지는 모르겠지만 내가 webjar를 사용하기 시작한 스프링 부트 2에서는 돌아가지가 았았다.

  3-2 내가 알기로도 아래 경로는 기본적으로 그냥 돌아가는 것이 맞다. webjars는 META-INF/resources로 되어 있다.

 

classpath:/static
classpath:/public
classpath:/resources/
classpath:/META-INF/resources

 

  3-3 아마도 jsp에서 사용해서 그런 것일 수도 있는게 jsp는 jar 형식이 불가해 war 형식으로 개발할 수 밖에 없고

    3-3-1 webapp이라는 폴더도 classpath에 걸려 있지 않기 때문이다. webapp 폴더기준이라면 문제가 있을 수 있다.

    3-3-2 다시 webjar를 찾지 못하도록 코드를 다 빼고 테스트해도 재현되지 않아서 그냥 넘어간다.

 

4. 가장 간단한 방법은 아래의 webjars-locator를 추가해 주고, 강제로 웹루트기준으로 위치를 지정해 주는 것이다.

 

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>webjars-locator</artifactId>
    <version>0.40</version>
</dependency>
package pe.pilseong.steps.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfiguration implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("/webjars/")
                .resourceChain(false);
        registry.setOrder(1);
    }

}

 

5. webjars는 webjars.org 홈페이지에서 설정을 찾아 삽입할 수 있다.

 

 

WebJars - Web Libraries in Jars

 

www.webjars.org

 

6. 웹루트와 클래스패스는 완전히 다른 이야기이다. 아래를 참고한다.

 

 

Spring : Web MVC with Java Config 설정 - Static 파일 사용하기

1. 아래 링크는 같은 기능을 xml로 설정하는 내용이다. Spring : Web MVC with XML Configuration - Static 파일 사용하기 1. web.xml의 dispatcherServlet 세팅에 사용된 Spring MVC config 파일에 설정을 추가한..

kogle.tistory.com

 

728x90
댓글