ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Maven 설명 및 설정
    SpringFrameWork 2021. 12. 15. 02:22

    ※Maven 프로젝트를 많이 쓰는 이유는 예를 들어서 a라는 라이브러리가 b를 의존해서 만들었고 b는 c를 의존해서 만들었고 d는 b를 의존해서 만들었다고 하면 a라는 라이브러리를 쓰고 싶으면 b, c, d 라이브러리가 있어야 하고 의존성이 어떻게 되고 있는지 기억하고 있어야 한다. 따라서 maven이 의존관리를 쉽게 해주기 때문에 의존관계를 개발자가 관리를 안해도 된다. 그래서 Maven이나 Gradle이라는 빌드도구를 사용한다.

     

    <modelVersion> :  maven이 사용하는 pom.xml 버전

     

    <groupId>, <artifactId>, <name>, <packaging>, <version> : 프로젝트 정보를 가리킨다. <packaging> war 라고 되어 있는데 war파일로 저장 한다는 것이다.

     

    <properties>는 변수 값 설정을 하는 곳이다.

    <properties> 의 <java-version>이 1.6으로 되어 있는데 명령 프롬프트에서 java -version 입력하면 1.8 버전인 것을 알 수 있다. (javac -version) 자바 컴파일러 버전이 (jave -version) 자바 버전과 같은 1.8 버전인 것을 확인을 하고 <properties>의 <java-version>을 1.8로 바꿔준다.

     

    <org.springframework-version>은 스프링 버전을 가리키는데 https://mvnrepository.com/ 사이트에서 검색창에 spring이라 치고 검색하면 스프링의 가장 기본 모델인 Spring Context이기 때문에 Spring Context를 클릭 가장 최신 버전을 이용하는데 RELEASE가 붙어 있는 버전이  안정된 버전이라는 것을 알려주고 없는 것은 개발 단계 버전이다. 따라서 RELEASE가 있는 버전 중 가장 최신 버전을 찾으면 된다. 버전만 확인하고 3.1.1.RELEASE를 5.2.16.RELEASE 로 수정한다.

     

    <dependencies> 의존성 라이브러리 명시 하는데 스프링과 스프링에 많이 쓰이는 라이브러리들을 말한다. <dependency> 단위로 라이브러리를 추가한다.

     

    <!-- Servlet --> 밑에 <artifactId>servlet-api가 있는데 버전이 2.5는 낮기 때문에 maven 저장소에서 servlet이라고 검색한 후 Java Servlet API 찾아서 클릭하면 제일 위에 있는 4.0.1버전이 최신이라서 기존 2.5로 작성된 dependency를 지우고 maven repository에서 찾은 4.0.1버전의 dependency 코드를 복사해서 붙여넣기 해준다.(기존 작성된 dependency 코드에 2.5 -> 4.0.1 만 수정하면 되긴 하는데 <artifactId>값이 다르기 때문에 전체 코드를 복사 붙이기 한 것) 코드를 넣는 순간 창 오른쪽 하단에 라이브러리가 다운로드 됙 있는 것을 확인할 수 있다.

    ★ctrl + shitt + F 누르면 코드가 자동 정렬 된다.

     

    <plugin> 중 <artifactId> maven-compiler-plugin 부분은 maven 프로젝트라면 java코드를 compil 할 때 maven-comiler-plugin이 작업을 한다. 버전이 낮기 때문에 maven repository에서 maven compiler plugin을 검색하면 Apache Maven Compiler Plugin 찾아서 클릭 후 3.8.1이 최신인 것을 확인하고 2.5.1을 3.8.1로 수정한다.

     

    <plugin> 밑 <configuration> 밑 <source>는 자바소스 파일을 인식하는 기준 즉 자바문법 버전을 애기한다. <target>은 최종 결과물로 만들어야하는 버전을 얘기한다. 따라서 <properties>에 자바 버전이 1.8이기 때문에  <source>, <target> 1.6을 1.8로 바꿔줘도 되고 더 좋은 방법은 자바 버전이 바뀌면 <properties>에서만 바꾸면 다른 곳은 properties의 java-version값만 받아오면 되기 때문에 ${java-version} 를  넣어줘도 된다. ${변수} 를 사용하게 되면 위의 자바버전을 참고 한다는 뜻이기 때문이다. 

     

    ※ pom.xml을 수정하고 나면 안전하게 업데이트 하기 위해서 프로젝트(spring-regacy) 선택 후 마우스 오른쪽 클릭 -> Maven -> Update Project 선택 -> Update Maven Project 창 뜨면 OK 클릭 -> 하단 오른쪽에 다운로드 진행 됨(pom.xml 기준으로 확인)

     

    ★파일에 빨간색 오류가 뜰 경우 상단에 Window -> show View -> Other -> Problems 를 open 한다. 문제 사항에 대해서 알려주는 창이 생긴다. 

     

     

Designed by Tistory.