728x90
반응형
자원 복사 및 소스 코드 컴파일
process-resources와 compile 페이즈를 알아보자.
아래와 같은 명령어를 실행하면 src/main/java 디렉토리 아래의 모든 소스 코드가 컴파일된다.
mvn compile
compile 페이즈 실행 과정
의존 관계에 있는 process-resources 페이즈 실행 (resources 플러그인의 resources골이 실행)
resources 골은 src/main/resources 디렉토리에 있는 모든 자원을 target/classes 디렉토리로 복사
만약 < resources /> 엘리먼트를 재정의했다면 재정의한 규칙에 따라 자원을 복사한다.
<project ..> ... <build> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/java</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> </build> ... </project>
마이바티스 프레임워크 설정 파일이나 여러 설정파일은 src/main/resources 디렉토리에서 관리하기 보다 설정파일을 사용하는 소스와 같은 패키지로 관리할 때가 더 유용하다. (보통 src/main/java 디렉토리에서 관리)
따라서 src/main/java 디렉토리에서도 자원을 관리한다면 위와 같이 설정을 한다. *.java 파일을 제외한 모든 설정파일은 target/classes 디렉토리로 복사되게 된다.
compile 페이즈 실행(compiler 플러그인의 compile 골이 실행)
src/main/java 디렉토리의 자바 소스 코드를 target/classes 디렉토리로 컴파일 한다.
만약 추가 적인 설정이 필요할 경우 compiler 플러그인 설정을 한다. (하지않으면 최상위 POM 설정을 따름)
<project ...> ... <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>utf-8</encoding> </configuration> </plugin> </plugins> </build> ... </project>
플러그인에 대한 자세한 정보
728x90
반응형
'프로그래밍 노트 > 빌드도구' 카테고리의 다른 글
[Maven] 메이븐 저장소 (0) | 2019.03.31 |
---|---|
[Maven] 메이븐 기본 페이즈와 플러그인_2(테스트, 패키징) (0) | 2019.03.31 |
[Maven] 메이븐 페이즈와 플러그인 (0) | 2019.03.28 |
[Maven] 메이븐 라이프사이클과 페이즈 (0) | 2019.03.28 |
[Maven] 메이븐 설정 파일 (pom.xml) (0) | 2019.03.25 |