티스토리 뷰
1. groupid와 artifactid의 의미
- (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 - 테스트 코드를 컴파일 할 때 필요
- 테스트 시에 클래스패스에 포함되지만, 배포시 제외된다.
'KH 정보교육원 [ Java ]' 카테고리의 다른 글
KH 80일차 - JDBC 1 ( Target DB에 연결 ) (0) | 2022.06.22 |
---|---|
KH 79일차 - 메이븐 2 (0) | 2022.06.21 |
KH 77일차 - XHR / ajax 메소드 (*****) (0) | 2022.06.18 |
KH 76일차 - ajax( ) 메소드 (******) (0) | 2022.06.16 |
KH 75일차 - 제이쿼리 ( 이벤트 메소드 ) / AJAX (*****) (0) | 2022.06.15 |