티스토리 뷰

1.    groupidartifactid의 의미

-      (1) groupid : 현재 이 프로젝트를 수행하는 조직 또는 회사를 의미한다.

-      + 값으로는 해당 조직 / 회사의 고유한 도메인 명을 거꾸로 만든 이름을 사용한다.

-      + ex. naver.com --- > com.naver

-      + ex. kakao.com --- > com.kakao

-      (2) artifactid : 프로젝트의 이름 ( 이 프로젝트로 만들어지는 산출물의 이름 )

 

2.    Maven( 메이븐 )의 주요 디렉터리

-      1 ) src/main/java : 자바 소스 파일이 위치한 곳이다. ( CLASSPATH에 포함된다. )

-      2 ) src/main/resources : 프로퍼티 / XML 등 리소스 파일이 위치. ( CLASSPATH에 포함 )

-      3 ) src/main/webapp : 웹 어플리케이션 관련 파일이 위치. ( WEB-INF 디렉터리, JSP 파일 등이 위치한다. )

-      4 ) src/test/java : 테스트 자바 소스 파일이 위치.

-      5 ) src/test/resources : 테스트 과정에서 사용되는 리소스 파일이 위치.

-       + CLASSPATH에는 클래스뿐만이 아니라 자원도 포함되어야 한다.

-       + test test시에만 CLASSPATH에 잠깐 들어가서 수행되는 것으로, 실제로 배포할 때에는 포함되지 않는다.

-       + 기본적으로 생성되지 않은 디렉터리라 하더라도 직접 생성해주면 된다.

 

3.    dependency에서 scope?

-      pom.xml 파일에서 <dependency> 부분을 보면 <scope>를 포함하고 있는 것과 그렇지 않은 것이 있다.

-      scope는 의존하는 모듈이 언제 사용되는 지를 설정할 때 사용한다.

-      scope에 올 수 있는 값에는 compile > runtime > provided > test, 4가지가 있다.

-      1 ) compile : 컴파일 할 때 필요

-      + 테스트 및 런타임에도 CLASSPATH 에 포함된다.

-      + scope을 설정하지 않을 경우 기본 값은 compile이 된다.

-      2 ) runtime : 런타임에 필요

-      + JDBC 드라이버 등이 대표적인 예시이다.

-      + 프로젝트의 코드를 컴파일 할 때는 필요하지 않지만, 실행할 때 필요하다는 것을 의미한다. ( 배포할 때 포함된다. )

-      3 ) provided

-      컴파일 할 때 필요하지만, 실제 런타임 때에는 컨테이너 같은 것에서 기본으로 제공되는 모듈임을 의미.

-      예를 들어 서블릿이나 JSP API 등이 이에 해당된다. ( 배포시 제외된다. )

-      4 ) test - 테스트 코드를 컴파일 할 때 필요

-      테스트 시에 클래스패스에 포함되지만, 배포시 제외된다.

728x90
댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항