Play에서 WebJars 적용

Play에서 js,css,이미지를 참조할때는 Assets 컨트롤러를 사용해야 한다. 예를 들어 Bootstrap 3.x 버전을 적용하고 싶다면 먼저 public 디렉토리에 필요한 파일을 복사하고 View 템플릿에서 css와 js를 링크시킨다.

하지만 이 방식은 정적 컨텐츠에 대한 버전관리를 어렵게 한다.

그래서 WebJar를 적용해 봤다. Bootstrap 3.3.5를 쓰고 싶다면

  • build.sbt에 bootstrap에 대한 종속성을 추가한다.

뷰 템플릿에 Bootstrap에 대한 CSS,JS를 추가한다.

주의해서 봐야할 부분은 패스이다. WebJar는 lib 디렉토리 밑으로 자동풀림되기 때문에 패스틑 lib로 시작한다. 정확한 위치는 target/web/public/main/lib 가 된다.
버전은 붙이지 않는다. 그래야 새로운 버전이 올라갈때마다 참조링크를 수정할 일이 생기지 않는다.

내가 필요한 라이브러리가 WebJar로 제공되는지는 http://www.webjars.org/ 에서 획인할 수 있다.

Play 프로젝트 Eclipse로 가져오기

Activator로 만든 Play 프로젝트를 Eclipse로 가져오는 방법이다.

1.Play 프로젝트를 이클립스 프로젝트로 변환한다.

Play 프로젝트는 sbt 프로젝트이다. sbt 플러그인중 eclipse 플러그인을 이용하면 쉽게 Play 프로젝트를 이클립스 프로젝트로 바꿀수 있다. project > plugins.sbt에 추가한다.

[code lang=”perl”]addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")[/code]

플러그인을 추가하고 Activator 콘솔에서 eclipse를 실행하면 이클립스 프로젝트 파일이 만들어진다.

2.이글립스에 scalaIDE를 설치한다. scalaIDE를 설치하면 sbt 프로젝트를 바로 임포트 할 수 있다.

‘Play로 배우는 빠른 웹개발’ 목차

√ 표시: 저술 완료

  1. Play 프레임워크의 시작과 발전 √
  2. Play를 이루는 기술 구조 √
  3. Play 개발환경 구성 √
  4. 가상머신기반의 개발 환경
  5. 처음 만나는 Play 웹앱 Hello Play! √
  6. Play 웹앱 기본구조 √
  7. 템플릿 구조를 이용한 레이아웃 설계 √
  8. 스칼라 템플릿으로 만드는 회원가입 √
  9. Bootstrap을 이용한 반응형 Play 웹앱
  10. Validator로 입력값 검증 √
  11. 세션,플래시,쿠기를 이용한 로그인/로그아웃 √
  12. 플래시를 이용한 메시징
  13. 파일 업로드 √
  14. http 라우팅
  15. h2 데이터베이스 연동 √
  16. 관계형 데이터베이스 연동 √
  17. ORM 엔진 ebean으로 CRUD 구현
  18. DB 스키마 관리도구 Evolution
  19. YAML로 준비하는 기본 데이터
  20. 캐시로 사진조회를 빠르게
  21. i18n으로 다국어 지원
  22. Global로 예외처리
  23. JUnit 테스트 코드
  24. 젠킨스로 Play 웹앱 빌드환경 구성
  25. Heroku 배포 √
  26. AWS EC2 인스턴스 배포
  27. AWS S3 파일 업로드
  28. Deadbolt로 권한관리
  29. Docker 컨테이너 배포
  30. JSON 형식으로 데이터 주고받기
  31. XML 형식으로 데이터 주고받기
  32. 페이스북 로그인
  33. Actor로 메일 전송
  34. Activator 콘솔 명령어
  35. sbt
  36. 플러그인
  37. 모듈