ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP피피티 04강 from Maven
    JSP 피피티 2020. 8. 18. 18:25

    오늘은

    JSP -PPT04강 Maven, Log

    JSP -ppt05강 WebHelper, 페이지 강제 이동, Get/Post 방식의 상태유지(정규표현식)

    을 배웠다.

    Maven

    수업에 들어가기전 선생님께서 우리가 코드를 짤때 라이브러리를 갖다 쓰는 건 자유지만 내가 짠 코드를 그 라이브러리와 함께 다른 사람에게 주면 불법이라고 하셨다. 내가 짠 코드만 주고 그 사람이 라이브러리는 따로 받아서 사용해야 한다고 하셨는데... 그런 불편함을 해결하기 위해서 Maven을 쓰는것 같다.

     

    Maven을 네이버에 검색해 찾아본 정의는

    유지보수하기 쉽게 라이브러리를 쉽게 추가, 수정, 삭제 정도? 라고 지식인에서 찾았다. 

    우석이는 

    '라이브라리는 갖다 쓸라면 빌드패스를 해야하는데 Maven은 자동으로 빌드패스를 해줘서 편하다' 라고 했는데 인터넷에서 찾은 정의와 우석이의 설명이 비슷한것 같다.

     

     PPT에 쓰인 개요는

    프로젝트 빌드 자동화 도구 

       -원격 저장소(인터넷)에 등록되어 있는 라이브러리의 정보를 명시한 XML 파일을 토대로 프로젝트에서 사용되는 각종 라이브러리(jar파일)들에 대한 다운로드와 Java Build Path 설정을 자동화 하는 도구.

     

    그니까 우석이 말처럼 Maven은 라이브러리를 직접 다운받고 lib폴더에 넣어서 빌드패스 설정을 하지 않고 라이브러리를 쓸 수 있는 기능? 이라고 이해

     

    Dynamic Web Project를 Maven Project로 전환하기 위해서

    -프로젝트 이름에서 우클릭 > Configure > convert to Maven Project

    -Maven 정보를 입력하기

    항목 의미
    Group Id 기본 패키지 이름
    Artifact Id 프로젝트 이름
    Version 버전값(기본값 유지)
    Packaging 배포를 위한 패키징 형태
    (기본값 유지)

    NCS능력단위 중 
    "애플리케이션 배포", "애플리케이션 패키징"과 연관되는 내용

    여기까지 하면 pom.xml이라는 파일이 생성되고 기본내용이 제시된다.

    이파일에 라이브러리의 정보를 기입하면 이클립스가 자동으로 다운받고 Java Build Path 설정을 추가한다.

    라이브러리 정보들을 추가하기 위한 <dependencies>태그를 맨 마지막 닫는 태그(</project>) 직전에 추가한다.

     

    메이븐 저장소 (https://mvnrepository.com/) 에서

    사용할 라이브러리를 검색 > 사용할 버전 선택 > Maven 코드를 복사 > <dependencies>블록 안에 붙여 넣기

     

    pom.xml 파일을 저장함과 동시에 이클립스가 해당 정보를 참조하여 라이브러리를 다운로드 하는 상황이 우측 하단에 표시된다. 가급적 다운로드가 종료되기 전까지는 이클립스로 다른 작업을 수행하지 않도록한다. 

     

    pom.xml에 특별한 문제가 없는 상황에서 네트워크 문제등으로 라이브러리 다운로드에 실패하는 경우가 있다.

    이 경우에는 자바 코드에서 라이브러리를 참조하지 못해 해당 클래스에 구문에러가 발생하게 되는데

    프로젝트 이름에서 우클릭 > Maven > Update Project  특별한 설정 없이 Ok버튼 눌러 해결될 수도 있다.

    (강제 업데이트 Force Update of Snapshos 항목 체크하기)

     

    로그

    시스템의 모든 동작 과정을 기록해 놓은 텍스트 파일

    (사용자의 접속 정보, 시스템 스스로 구동하면서 발생되는 모든 행위와 이벤트 정보)

    -시스템에 사고나 장애 발생시 원인을 파악하고 근거를 제공하는 데이터

     

    Log4j

    -로그 저장 기능을 제공하는 자바 플랫폼용 라이브러리

     

    /WebContents/WEB-INF/classes/log4j.xml

    -Log 출력/저장 규칙 설정 파일

    •  이클립스 콘솔에 출력되는 형식에 대한 설정
    • 파일로 기록되는 로그 설정(이클립스의 콘솔에 출력되는 내용과 동일한 내용이 지전된 경로의 파일에도 기록되도록 설정)
    • 에러 로그 설정(시스템 에러가 생길것을 염려하여 에러가 발생한 경우 해당 내역만 별도의 로그 파일로 생성하도록한다.)

    -기록되는 내용의 중요성에 따라 메서드가 구분되어있다.

    단계 수준 설명 메서드
    TRACE 6 추적 레벨은 Debug보다 좀더 상세한 정보를 나타냄 trace(String)
    DEBUG 5 프로그램을 디버깅하기 위한 정보 지정 debug(String)
    INFO 4 상태변경과 같은 정보성 메시지를 나타냄  info(String)
    WARN 3 처리 가능한 문제, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타냄 warn(String)
    ERROR 2 요청을 처리하는 중 문제가 발생한 경우 error(String)
    FATAL 1 아주 심각한 에러가 발생한 상태, 시스템적으로 심각한 문제가 발생해서 어플리케이션 작동이 불가능할 경우 fatal(String)
전설의 개발자