1. maven archetype 은 뭘까?
> 프로젝트 자동생성 템플릿 목록이라고 보면 된다.
예를들어 maven-archetype-webapp 을 선택하면 src, target 폴더 및 webapp 폴더와 index.jsp 까지 생성해준다.
2. 저장소란?
> 라이브러리들이 보관된 장소다.
3. 중앙저장소란?
> 메이븐에서 자체 관리하는 라이브러리 보관장소이다.
4. 원격저장소란?
> 중앙저장소를 제외한 외부사이트에서 라이브러리들을 보관하는 장소이다.
스프링소스나 회사내 원격저장소 등이 있다.
5. 로컬저장소란?
> 내 컴퓨터에 라이브러리들을 모아놓는 장소이다.
기본 위치는 USER_HOME/.m2/repository 디렉토리이다.
mvn test를 실행하면 중앙이나 원격저장소에 있는 라이브러리들을 내 컴퓨터의 로컬저장소로 내려받는다.
스프링 라이브러리 내려받기 실습
1. http://mvnrepository.com/ 접속하여 org.springframework 검색
2. 최신버전 클릭
3. maven dependency 복사
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
4. pom.xml 에 삽입
5. mvn test 실행
dependency scope
1. compile : 범위를 설정하지 않았을 때의 기본 범위이다. 컴파일할 때도 사용하며, 배포할 때도 같이 배포해야 하는 라이브러리이다.
2. provided : 예를 들어 servlet.jar 는 서블릿 컨테이너에서 제공하므로 컴파일 시점에는 필요하지만, 배포될 필요는 없다. 이럴 때 사용하는 범위이다.
3. runtime : 말 그대로 컴파일에는 사용되지 않지만, 애플리케이션을 실행할 때 사용되는 라이브러리일 경우에 설정한다.
4. test : 테스트에만 사용하는 라이브러리이다. 배포할 때 같이 배포되지 않는다.
5. system : system 범위는 provided 와 비슷하다. 그러나 jar 파일을 직접 제공해야 한다. 따라서 이 범위의 jar 파일은 저장소에서 관리되지 않을 수도 있다.
실제 프로젝트에 라이브러리를 복사하는 명령어
mvn clean dependency:copy-dependencies package
POM 속성
pom/project 속성
- project.groupId
- project.version
- project.name
- project.description
- project.build.sourceDirectory
- project.build.scriptSourceDirectory
- project.build.testSourceDirectory
- project.build.outputDirectory
- project.build.testOutputDirectory
- project.build.directory
- project.baseUri
- settings.localRepository
- env.PATH
- env.JAVA_HOME
- java.version
- basedir
'개발자놀이터' 카테고리의 다른 글
intellij 에서 maven 에 등록한 jar파일이 읽히지 않을 때 (0) | 2015.09.29 |
---|---|
gitignore 잘 적용되지 않을 때 (0) | 2015.09.26 |
maven (메이븐) 요약정리 (0) | 2015.06.21 |
Servlets & JSP 5장 정리 (2) (0) | 2015.01.16 |
Servlets & JSP 5장 정리 (1) (0) | 2015.01.10 |