Maven #03 웹

underlier12·2020년 2월 9일
0

MAVEN

목록 보기
3/4

07. 컴파일 플러그인

JDK 버전 변경

이전에 pom.xml 파일에서 작성한 jdk 버전에 대한 내용을 삭제한 뒤 다음과 같이 변경 사항을 적용해야하는데 프로젝트 오른쪽 클릭 후 Maven > Update Project를 선택하면 된다.

이후 자바 버전을 확인해 보면 1.5 버전으로 낮춰진 것을 확인 할 수 있다.(기본 버전)

플러그인 자체에서 버전을 바꿀 수 있도록 적용하려면 다음과 같이 pom.xml에 작성하고 업데이트를 한다.

그러면 다음과 같이 컴파일 버전이 바뀌어 적용된 것을 확인할 수 있다.

하지만 내용이 너무 길기에 이전의 내용과 같이 축약된 것으로 사용할 수 있다. 만약 자세한 속성을 다루고 싶다면 축약된 형식보다는 위의 포맷이 더 바람직하겠다.

08. 웹 프로젝트

웹 프로젝트로 변경

자바 프로젝트의 경우 웹 프로젝트로 변경 시 수정해야 할 것이 많으나 메이븐 프로젝트는 이에 대해 편의를 제공해준다. 다음과 같이 <packaging> 태그 내용을 jar에서 war로만 바꿔주면 된다.

war는 Web application ARchive의 약자이다

이후 프로젝트 업데이트를 진행하게되면 구조가 바뀌면서 에러가 발생하는데 이는 web.xml 문서가 없기에 나타나는 문제이다.

다음과 같이 webapp 폴더 내에 WEB-INF폴더를 생성하고 그 안에 web.xml를 추가해준다. (다른 웹 프로젝트의 web.xml 파일 붙여넣음)

이후 webapp 폴더에 index.html 파일을 생성하여 테스트하면 정상적으로 작동하는 것을 확인할 수 있다.

09. 라이브러리 설정

서블릿 / JSP 라이브러리 설정

webapp 디렉토리에 index.jsp 파일을 생성하면 아래와 같은 에러가 발생하는데 이는 서버(톰캣) 관련 라이브러리를 포함하지 않았기 때문에 나타난다.

따라서 프로젝트를 오른쪽 클릭해서 Build Path > Configure Build Path를 선택한 후

Library 탭에서 Add Library를 선택하고

Server Runtime 을 선택한 뒤

본인의 서버를 선택해주면 된다.

아래와 같이 해당 라이브러리가 추가된 것을 확인할 수 있다.

하지만 이는 절대경로로 추가가 된 것이므로 향후 다른 작업환경이라든지 경로가 바뀌었을 때 대처를 할 수 없다. 그렇다고 프로젝트마다 라이브러리를 가져가도록 하기에도 불편하다. 메이븐은 이에 대해 편의를 제공해준다.

메이븐 라이브러리

먼저 메이븐 라이브러리가 어디로 다운되는지 알아야 한다. 이전 터미널에서 입력할 때 maven-archetype-quickstart라는 archetypeArtifactId를 타이핑하였고 이에 아주 많은 실행 내용이 지나갔다.

해당 과정이 메이븐 원격 저장소로부터 로컬 저장소로 다운 받는 과정이다. 하나의 프로젝트에 필요한 라이브러리들이 Dependencies의 내용에 알맞게 다운이 되며 추후 다른 프로젝트가 생성되어도 겹치는 라이브러리는 공유하고 로컬 저장소에 없는 것들만 추가로 받는다.

메이븐 원격 저장소(중앙 저장소)에서 필요한 라이브러리를 검색할 수 있으며 직접 다운 받을 수도 있지만 더 수월한 방법을 사용한다.

만약 Tomcat 9버전에 따른 JSP 라이브러리가 필요하다면 tomcat jsp 와 같이 키워드를 검색하고 적절한 API를 선택한다. 그럼 Tomcat 버전에 따라 다양한 라이브러리들이 있는데 그 중 본인이 사용하고 있는 버전에 맞는 API를 클릭하면 아래와 같은 페이지가 나온다.

이때 Maven 탭 내에 있는 내용을 클릭만 해도 Copied to clipboard!라며 친절히 복사되었음을 알려준다.
이 내용을 <dependencies>내에 삽입해준다. 저장하면 이에 대해 원격에서 로컬로 저장이 진행된다.

profile
logos and alogos

0개의 댓글