학과 샘플강의

Maven - 총 16시간 30분 / 강의당평균 : 49분30초

알지오 2016. 7. 25. 18:06



Maven
전체 : 16시간 30분 / 강의당평균 : 49분30초

01 Maven 기본
Maven 탄생 배경/Maven 주요 기능 및 사용시 이점/이상적인 개발환경/Maven Archetype 프로젝트 생성/Maven 기본 명령어
46분
책갈피 : [00:08] Maven 탄생 배경 / [00:28] 빌드 툴에 관심을 갖은 이유 / [02:00] 빌드 툴-메이븐을 많이 사용 / [02:28] 프로젝트 개발 환경 구축 / [02:38] 통합 개발 환경 구축 / [02:53] 형상 관리 툴 구축 / [03:06] CI 툴 구축 / [04:15] 효율성 극대화 / [04:46] 프로젝트 간 의존관계 / [05:15] 재사용성을 높이기 위한 시도 / [06:00] 프로젝트 간 의존관계 그림 확인 / [06:30] 프로젝트의 복잡도와 유지보수 비용증가의 문제점 발생 / [07:44] 오픈소스 프레임워크의 활용 증가 / [08:18] 프로젝트 사용 라이브러리의 의존관계 / [09:54] 문제점들을 자동으로 관리해주는 빌드 툴 사용 / [10:31] Maven의 주요 기능 / [11:09] Maven 사용 시 주요 이점 / [11:20] 편리한 의존 관계 라이브러리 관리 기능 / [11:33] 일관된 디렉토리 구조와 빌드 프로세스 유지 / [11:58] 다양한 플러그인 활용 / [12:31] 프로젝트 템플릿의 제작 / [13:15] 메이븐과 앤트의 비교 / [15:03] 이상적인 개발환경 / [15:54] 개발환경 설치 자동화 / [18:02] 프로젝트 초기 구축 자동화 / [21:26] 지속적 통합 툴을 활용한 자동화 / [22:18] CI 툴을 사용할 경우 / [23:11] 자동화된 빌드 스크립트 / [24:18] 메이븐 설치 / [25:03] Maven 3.2.3(Binary zip)다운로드 / [25:15] 원하는 디렉토리로 복사 / [25:37] 압축풀기 후 환경설정 / [25:52] 고급-환경 변수 설정 / [26:22] 시스템 변수 편집 / [26:45] 메이븐 테스트 / [26:56] 메이븐 사용을 위해 JDK설치가 필요 / [27:26] 메이븐 테스트를 위해 mvn-v 명령어 입력 / [28:07] 환경 변수 다시 설정 후 테스트 / [28:30] 메이븐 기반의 템플릿 프로젝트 생성 / [29:17] Archetype / [29:37] Archetype 만들기 실습 / [31:07] 명령의 결과로 만들어진 것이 무엇인지 소스구조 살펴보기 / [31:59] 생성되는 경로 확인 / [32:22] 폴더 선택해서 생성 / [32:59] 해당 디렉토리로 이동 / [33:45] groupId가 기본 패키지로 사용 / [34:34] groupId 설명 / [35:00] ArtifactId 설명 / [36:13] pom.xml파일 / [36:35] pom.xml 구조 확인 / [37:07] packaging태그 / [37:35] 메이븐의 기본 명령어 / [37:52] 메이븐의 명령어 구조 / [38:15] options, goal, phase / [38:45] 메이븐 명령에서 사용할 수 있는 옵션 / [40:30] 메이븐의 빌드 실행 / [43:15] mvn clean test 실행 / [44:37] 컴파일 진행 단계

02 Maven 설정 파일
Archetype을 이용한 alzio 프로젝트 생성/pom.xml 파일의 구조/최상위 pom 설정 파일/alzio 프로젝트 디렉토리 구조 바로 잡기
54분
책갈피 : [00:07] Archetype을 이용한 alzio프로젝트 생성 / [00:36] 프로젝트를 생성한 명령어 살펴보기 / [00:56] 명령어의 의미 / [01:41] ArtifactId 값 확인 / [02:20] 지난 시간에 만들었던 firstProject확인 / [02:53] 웹 애플리케이션 만들기 / [03:07] 프로젝트 생성을 위해 특정 디렉토리 지정 / [03:28] 명령어 입력 / [03:53] archetypeCatalog옵션 / [04:00] 메이븐에서 사용하는 Catalog / [05:00] 해당 명령 실행 / [05:30] groupId와 artifactId지정 / [06:00] version과 package지정 / [06:29] 프로젝트 생성된 것 확인 / [07:11] 프로젝트 생성 부분 정리 / [08:35] alzio프로젝트 설명 / [09:07] alzio프로젝트의 pom.xml파일 열기 / [09:56] 프로젝트 생성 후 메이븐 테스트 / [10:50] alzio프로젝트에 java디렉토리가 없는 것 확인 / [11:35] 프로젝트 생성시 소스코드나 디렉토리 관리 설정 부분 / [12:18] 디렉토리에 대한 정보의 저장 위치 / [13:00] settings.xml파일 / [13:58] 메이븐을 설치하면 기본 제공 / [14:28] settings.xml파일 열기 / [15:11] 사용자의 설정파일은 사용자 별로 설정 / [16:02] 로컬 저장소의 기본 설정 / [16:18] 로컬 저장소의 경로 변경 / [16:52] localRepository태그 / [17:41] pom.xml파일 / [18:18] 메이븐 기본 설정 파일 / [18:48] pom.xml파일이 아닌 다른 설정파일을 사용할 경우 / [19:18] pom.xml파일의 구성 / [19:47] Project Relationship설정 / [20:22] Project Information설정 / [20:45] Build Settings설정 / [21:22] Build Environment설정 / [22:00] 구성요소를 기반으로 testPom.xml생성 / [22:22] 추가적인 요소 / [24:07] project라는 구성요소 / [24:18] modelVersion / [24:37] groupId / [24:52] artifactId / [25:22] packaging / [25:56] version / [26:26] name / [26:37] dependencies / [27:00] dependency를 설정할 경우 / [28:25] 최상위 pom 설정 파일 / [29:22] 그림으로 확인 / [30:03] 최상위 pom 설정 파일을 확인하는 명령어 실습 / [30:48] repositories요소 / [31:07] 중앙저장소 / [31:41] build 구성요소 / [32:00] 각각의 디렉토리 확인 / [34:37] sourceDirectory / [34:57] testsourceDirectory / [35:30] outputDirectory / [35:52] testoutputDirectory / [36:12] resources / [36:27] testResources / [36:52] repository / [37:07] pluginRepositories / [37:28] pluginManagement / [39:00] 디렉토리 경로 바꾸기 실습 / [39:49] 웹 애플리케이션에 대한 디렉토리가 없는 이유 / [40:37] alzio프로젝트 밑에 wepapp디렉토리가 존재하도록 설정 / [41:06] pom.xml파일 수정 / [41:22] sourceDirectory / [41:52] resources수정 / [42:15] plugins를 설정한 이유 / [43:30] alzio프로젝트의 구조 설정 / [44:28] 두개의 프로젝트 통합 / [45:37] 주의할 점 / [46:22] 수정하기 전에 경로 확인 / [47:37] 웹 애플리케이션에 대한 디렉토리 변경 / [48:07] pom.xml파일 수정 후 webapp붙여넣기 / [49:07] 프로젝트가 실행되는지 확인 / [49:37] 실제로 디렉토리가 생성됐는지 확인 / [50:28] target디렉토리 / [51:00] classes디렉토리 / [51:36] test-classes디렉토리 / [52:00] alzio디렉토리 / [52:36] surefire-reports디렉토리

03 Maven 라이프사이클 part1
라이프사이클과 페이즈/페이즈와 플러그인/기본 페이즈와 플러그인
47분
책갈피 : [00:18] 메이븐의 빌드 진행 / [00:55] 최상의 폼에 대한 정보 출력 / [01:32] 메이븐의 빌드 라이프사이클과 플러그인 알기 / [01:49] 메이븐의 라이프사이클과 페이즈 / [02:15] ant 빌드 툴 사용 예제 / [02:42] target엘리먼트의 의존관계 설정 가능 / [03:38] 메이븐의 빌드 단계 / [04:25] 메이븐과 ant의 차이 / [04:46] 메이븐에서 제공하는 3개의 라이프사이클 / [05:15] 메이븐 라이프사이클-기본 / [06:00] 메이븐 라이프사이클-clean&site / [06:46] 메이븐에서 제공하는 페이즈 / [08:18] 기본 라이프사이클과 clean&site라이프사이클은 독립적으로 실행 / [08:37] 기본 라이프사이클 살펴보기 / [08:56] compile단계 / [09:07] test단계 / [09:26] package단계 / [10:00] install단계 / [10:18] deploy단계 / [11:28] clean 라이프사이클 살펴보기 / [11:46] clean페이지를 실행할 경우 / [12:16] site 라이프사이클 살펴보기 / [12:58] site페이즈와 site deploy페이즈 / [13:33] 테스트를 위해 알지오 프로젝트의 디렉토리로 이동 / [14:01] mvn site명령어 입력 / [14:37] site디렉토리-index.html문서 열기 / [15:15] 메이븐의 기능은 플러그인을 기반으로 동작 / [15:50] 메이븐 플러그인 / [16:11] pom.xml파일 / [16:52] 메이븐에서 플러그인 사용을 위한 방법 / [17:25] 하나의 플러그인에서 여러 작업 수행 / [18:11] 설정된 플로그인을 실행하는 방법 / [18:47] 예를 들었던 부분 명령어로 입력 / [19:41] 플러그인을 쉽게 수행할 수 있는 규칙 / [20:00] 버전 생략 / [20:56] artifactId에서 플러그인 네임만 명시 / [21:41] pluginGroups엘리먼트 아래에 pluginGroup지정 / [23:41] archetype:generate명령 / [24:33] help:effective-pom명령 / [25:30] 해당 플러그인 확인 / [27:03] 페이즈와 플러그인의 관계 / [27:15] 페이즈 / [28:44] compile페이즈를 실행했을 경우 / [29:11] 페이즈와 goal의 관계구조 / [31:00] compile페이즈 실행 / [32:21] 자세한 내용 출력을 위해 mvn test실행 / [32:45] 페이즈 실행 순서 / [33:15] process-resources단계 / [34:22] process-test-resources단계 / [34:36] test-compile단계 / [34:50] test단계 / [35:50] 메이븐 중앙 저장소 / [36:22] 각 페이즈의 설명과 설정 방법 / [36:37] process-resources와 compile페이즈 / [38:00] compile페이즈를 실행했을 경우 / [38:37] process-resources페이즈가 실행되는 이유 / [39:30] resources엘리먼트를 재정의하는 예제 / [39:51] directory지정 / [40:22] exclude안의 특정 패턴 / [42:37] 경로 확인 / [43:07] java파일만 컴파일한다는 의미 / [44:21] compiler버전과 java소스코드의 인코딩 설정 / [44:50] configuration엘리먼트 사용

04 Maven 라이프사이클 part2 & 의존 라이브러리 part1
기본 페이즈와 플러그인/테스트 자원 복사 및 테스트 소스 코드 컴파일/패키징/배포/clean/의존 라이브러리 관리/메이븐 저장소
48분
책갈피 : [00:08] 메이븐 라이프사이클 기본 페이즈와 플러그인 / [00:43] 테스트 자원 복사 및 테스트 소스코드 컴파일 단계 / [01:25] process-test-resources페이즈에서 진행 / [02:21] test-compile페이즈에서 진행 / [02:51] 실행방법은 mvn test-compile입력 / [04:00] test-compile페이즈를 실행할 경우 / [05:15] test밑에 resources디렉토리 카피 / [05:55] test에대한 resources의 복사 위치 / [06:30] test페이즈 실행 / [07:00] test페이즈에서 하는 일 / [08:22] 의존관계를 가지는 test페이즈를 실행할 경우 / [08:45] test실행시 옵션 / [09:50] 해당 테스트만 실행 allTest test / [10:11] 여러개 실행 allIntegrationTest / [11:35] 메이븐을 사용하지 않은 프로젝트에서 메이븐을 사용할 경우 / [12:31] 메이븐의 속성 설정 / [13:03] test skip속성 / [15:03] 명령어에 속성값을 설정 하지않는 방법 / [15:31] pom.xml설정 파일 이용 / [16:29] surefire-plugin을 설정할 때 / [17:32] testFailureIgnore엘리먼트의 속성값 true지정 / [17:47] surefire-plugin이란 / [19:40] 패키징 단계 / [20:03] 패키지 페이즈 실행 / [20:33] package를 실행하면 의존관계의 test실행 / [22:37] war가 실행이 되는 이유 / [23:03] war나 jar파일의 생성 위치 / [24:26] finalName엘리먼트 설정 / [25:03] alzio라는 이름의 디렉토리 생성 / [25:41] 확장자는 packaging엘리먼트의 속성 / [26:18] finalName주석처리 후 패키지 페이즈 실행 / [26:56] alzio-1.0-SNAPSHOT생성 / [27:33] 버전의 속성값 / [28:45] 배포단계 / [29:32] 로컬저장소에 배포할 때 사용하는 인스톨 페이즈 / [29:41] 인스톨 실행 / [30:14] 필요한 파일 다운로드 / [30:41] 저장되는 위치 / [31:33] deploy 실행 / [32:00] deploy페이즈란 / [33:14] clean-빌드한 결과물 제거 / [33:45] clean페이즈 실행 / [35:04] 다른 페이즈를 실행할 때 반드시 clean실행 / [36:29] mvn clean test실행 / [36:44] mvn clean package실행 / [37:37] mvn clean install실행 / [38:42] 기존 프로젝트에서 라이브러리 추가 방법 / [41:07] 의존관계에 있는 라이브러리 관리와 추가방법 / [41:30] 의존라이브러리 관리 기능 / [42:30] 메이븐 저장소 / [43:13] 중앙 저장소 / [44:28] 원격 저장소 / [45:07] 로컬 저장소 / [45:46] 메이븐 라이브러리와 저장소

05 의존 라이브러리 part2
의존 라이브러리 다운로드를 위한 pom.xml 설정 방법/의존 라이브러리 관리 기능에 대한 동작 방식/의존 라이브러리 버전 관리 방법/라이브러리 검색/라이브러리 검색 후 pom.xml에 추가
49분
책갈피 : [00:07] 의존 라이브러리 / [00:27] 메이븐의 저장소 설정하는 방법 복습 / [01:37] 의존 라이브러리 관리 방법 / [02:23] alzio프로젝트의 pom.xml파일 / [03:00] dependencies엘리먼트 / [03:38] pom.xml파일 설정 후 빌드할 경우 / [03:53] 다운로드 받는 과정 / [05:00] 메이븐 로컬 저장소의 변경 없이 기본 디렉토리를 사용할 경우 / [06:00] groupId는 도메인명 사용 / [07:00] junit버전이 업그레이드되서 버전을 변경할 경우 / [08:11] mvn test 실행 / [08:33] 버전을 4.8로 변경해서 test실행 / [09:30] Downloading과 Downloaded로 구분지어 메시지까지 출력 / [09:58] mvn test 한번 더 실행 / [10:41] 다운로드한 라이브러리를 로컬 저장소에서 관리할 때 디렉토리 구조 / [11:20] junit라이브러리 존재 확인 / [11:43] junit과 junit / [12:31] 의존관계에 있는 라이브러리를 pom.xml을 활용해서 관리 / [13:11] 버전관리 시스템으로 공유할 소스코드의 크기가 작다는 특징 / [13:50] 프로젝트 소스와 의존관계에 있는 라이브러리는 분리해서 관리 / [15:07] pom.xml파일에 저장소를 설정하지 않은 경우 / [15:35] 최상의 폼파일 확인 / [16:07] repositories엘리먼트 / [17:00] 해당 중앙 저장소로 이동할 경우 / [17:26] 중앙 저장소의 라이브러리 검색 / [18:37] 해당 경로로 이동 후 추가할 라이브러리가 있을 경우 / [19:32] mvnrepository사이트 / [19:56] junit검색 / [20:48] dependency엘리먼트를 pom.xml파일에 설정할 수 있게 문구 출력 / [22:33] 의존 라이브러리 버전 관리 방법 / [23:26] 해당 버전 제외와 해당 버전 포함 / [24:56] junit의 최신버전 / [26:21] LATEST나 RELEASE를 넣어 최신버전을 다운받을 수 있게 설정 / [27:18] 처음 빌드할 때 중앙 저장소에서 라이브러리 다운 / [28:03] 개발중인 라이브러리나 프로젝트는 SNAPSHOT버전명 사용 / [29:11] 의존 라이브러리의 적용 / [30:30] scope에 test지정 / [30:48] 6개의 scope값 / [31:03] compile / [31:37] provided / [32:45] system / [33:22] import / [34:28] alzio프로젝트와 의존관계에 있는 라이브러리 의존성 추가 / [35:00] mvnrepository에서 라이브러리 검색 / [35:52] groupId사용 / [36:42] struts검색 / [37:07] mybatis검색 / [37:37] 검색된 라이브러리 pom.xml에 설정 / [38:45] Struts 2 Core추가 설정 / [39:22] Struts 2 Spring Plugin추가 설정 / [39:57] Struts Taglib추가 설정 / [41:59] Spring Context추가 설정 / [42:22] Spring TestContext Framework추가 설정 / [42:45] Spring Core추가 설정 / [43:22] MyBatis추가 설정 / [43:52] MyBatis Spring추가 설정 / [44:27] 빌드 실행 / [44:51] 에러 메시지 확인 / [45:24] pom.xml수정 후 빌드

06 의존 라이브러리 part3
의존성 전이/의존성 전이 설정 변경/의존성 스코프와 의존성 전이와의 관계/속성
49분
책갈피 : [00:26] 의존 라이브러리 관리 / [00:57] 설정한 라이브러리 / [02:23] 의존관계로 설정한 라이브러리를 특정 폴더에 복사해주는 플러그인 활용 / [03:20] INFO문구를 통해 copy되는 것 확인 / [04:00] dependency디렉토리 확인 / [05:25] 총 32개의 라이브러리 생긴 것 확인 / [05:46] 자바 기반으로 애플리케이션을 개발할 때 외부 라이브러리와의 의존도 변화 / [06:30] 의존성 전이 기능 / [08:11] struts2프레임워크와 의존관계에 있는 라이브러리 설정 정보 위치 / [08:46] pom파일 다운 / [09:24] 메이븐 중앙저장소 / [09:56] junit 4.9버전 검색 / [10:15] pom파일 열기 / [11:26] struts core파일 / [11:56] pom파일 열기 / [13:07] 의존성 전이 설정 변경 / [13:20] 의존성 중개 / [15:13] 의존성 관리 / [16:03] 의존성 스코프 / [16:30] 의존성 예외 / [16:48] 선택적 의존성 / [18:15] 주의점 / [18:52] 필요없는 의존관계 설정 제거 / [19:11] commons-fileupload-1.3.1을 삭제하고 싶은 경우 / [20:44] tree라는 goal제공 / [21:52] mvn dependency:tree 명령어 입력 / [22:26] 해당 jar파일이 어떤 jar파일과 의존관계가 있나 확인 / [23:11] pom파일에서 struts2 core찾기 / [23:26] exclusion엘리먼트 추가 / [23:48] groupId입력 / [24:22] artifactId입력 / [24:56] exclusions엘리먼트 추가해야 설정 완료 / [25:22] dependency디렉토리 삭제 후 mvn test / [25:41] 라이브러리 복사 / [26:03] 에러 확인 / [26:36] dependency디렉토리 확인 / [27:48] tree goal실행 / [28:26] 실제로 보이는 의존관계의 라이브러리가 적은 이유 / [28:41] struts2-core의 pom파일 / [29:15] 의존성 스코프 설정 변경 / [29:52] optional 선택적 의존성 / [31:03] 의존성 스코프와 선택적 의존성 기능을 활용해서 의존관계 가능 / [31:37] 의존성 스코프와 의존성 전이의 관계 / [33:07] scope값으로 표시되지 않고 기호로 표시된 경우 / [34:29] 공통으로 나오는 version값 / [35:06] 속성값 간결하게 바꾸는 방법 / [35:43] 속성 / [36:28] properties엘리먼트 설정 / [37:19] 버전 속성 지정 / [40:36] mvn clean test / [40:57] 메이븐의 예약 설정된 속성 / [41:22] pom/project속성 / [44:21] settings속성 / [45:07] 환경변수 속성 / [45:52] 자바 시스템 속성 / [46:27] Java System Properties에 대한 표 참조 / [46:52] basedir속성

07 메이븐과 이클립스 통합 part1
메이븐 플러그인 검색 및 사용법/메이븐 이클립스 플러그인 적용을 위한 개발환경 설정/이클립스 Indigo 버전을 이용한 알지오 프로젝트 import
52분
책갈피 : [00:15] alzio프로젝트 이클립스 통합 개발환경에서 만들기 / [00:58] 관련 라이브러리가 여러 디렉토리에 분산 / [01:38] 메이븐 설정파일을 이용해 이클립스 프로젝트로 변환 / [02:13] 이클립스 설명 / [03:23] 메이븐 이클립스 플러그인을 제공하는 사이트 / [03:46] 메뉴구성 확인 / [04:15] 메이븐 이클립스 플러그인 적용 방법 / [04:43] pom.xml살펴보기 / [06:00] 사용할 플러그인 확인 / [06:58] 프러그인 검색 확인 사이트 안내 / [09:09] 플러그인 검색 후 goal확인 / [09:30] 인스톨 플러그인 메이븐에 적용하는 과정 실습 / [10:07] install플러그인 찾기 / [10:37] Goals Overview확인 / [11:05] Usage / [11:16] Examples / [11:56] Goals확인 / [12:22] Usage를 pom.xml에 설정 / [12:50] Optional Parameters / [14:35] pom.xml에 설정하는 방법 / [15:35] groupId, artifactId, version명시 / [16:07] pluginManagement / [18:45] 메이븐 사이트에서 제공하는 플러그인의 별도은 설정 없이 사용 가능 / [19:22] 추가 설정이 필요한 경우 / [20:22] createChecksum값을 사용할 경우 / [20:52] plugins아래에 사용할 plugin추가 / [22:00] configuration을 이용해서 Optional Parameters설정하는 방법 / [22:22] createChecksum값의 구성 살펴보기 / [23:22] plugin아래에 configuration설정 / [24:07] Type값 알아보기 / [26:00] Required Parameters는 반드시 설정해야하는 인자값 / [26:45] war플러그인 설정했던 것 복습 / [27:22] warSourceDirectory / [28:25] alzio프로젝트에 메이븐 이클립스 플러그인 적용 / [30:00] 빌드 / [30:22] .classpath와 .project파일 생성 확인 / [30:40] .classpath파일 열기 / [31:11] M2_REPO변수 / [31:33] 경로 설명 / [32:34] 이클립스에서 소스폴더와 빌드한 결과물을 관리하기 위한 경로 설정 / [34:00] 이클립스 import / [34:35] 이클립스 워크스페이스에 있는 프로젝트 import / [35:04] alzio프로젝트 선택 / [35:20] java Build Path확인 / [35:44] M2_REPO의 경로 에러 메시지 / [36:29] M2_REPO설정 방법 / [38:30] wtp에서 사용 가능한 다이나믹웹프로젝트 생성 / [39:05] pom.xml선택 / [39:22] 이클립스 플러그인 설정 / [40:07] 이클립스 플러그인 사용 방법 / [40:37] artifactId입력 / [40:57] version입력 / [41:49] wtp검색 / [42:15] configuration안에 Optional Parameters입력 / [42:37] 설정 완료 후 명령어 입력 / [43:34] alzio프로젝트에 .settings폴더 생성 확인 / [44:57] 버전이 맞지 않을 경우 / [45:21] source와 target입력 / [45:52] Tomcat사용 / [46:52] Tomcat이 다운로드 되어있는 경로 지정 / [47:20] Tomcat서버 사용 준비 완료 / [47:52] wtp에서 기본으로 제공하는 서버 / [48:20] 서버구성 완료 후 alzio프로젝트 구동 / [49:09] Run on Server

08 메이븐과 이클립스 통합 part2
Spring Framewokr과 오픈 소스 이용자들을 위한 메이븐 팁/m2eclipse 플러그인 설치/메이븐 프로젝트 생성/pom.xml UI
49분
책갈피 : [00:20] m2이클립스 플러그인을 설치해서 메이븐 프로젝트 생성 실습 / [00:41] Spring Framework과 오픈소스 이용자들을 위한 메이븐 팁 / [01:47] spring에 연관된 소스코드를 확인하고 싶을 경우 / [02:53] 해당 라이브러리를 pom.xml에 의존관계 설정으로 세팅 / [03:53] Optional Parameters로 해결 / [04:46] 해당 옵션을 pom.xml에 지정 / [08:13] 이클립스 메이븐 플러그인 / [08:58] m2이클립스 이용 / [09:26] 이클립스 버전 / [09:45] 인디고 버전을 사용하는 이유 / [10:43] m2이클립스 설치 / [11:28] General Purpose Tools / [11:50] m2e 설치 / [12:22] Restart Now를 눌러서 이클립스 재시작 / [12:52] 실제 메이븐 프로젝트 만들기 / [13:28] Maven Project선택 / [14:46] 프로젝트와 관련된 사항 입력 / [16:03] 에러 확인 / [16:30] Build Path-Configure Build Path / [18:07] 메이븐 프로젝트 아래 디렉토리 / [18:37] pom.xml파일 열기 / [18:52] 소스코드 확인 / [20:11] .classpath파일 살펴보기 / [20:41] M2_REPO설정 방법 / [21:26] 이미 생성된 M2_REPO경로 확인 / [22:00] non modifiable표시 / [22:59] 경로값을 변경할 수 있는 기능 제공 / [23:25] settings.xml 파일 열기 / [23:52] localRepository의 경로 변경 / [24:33] 이클립스-Preferences / [24:45] User Settings / [25:56] M2_REPO변수 값 확인 / [26:29] 프로젝트 테스트 / [27:30] 명령창에 명령입력 / [28:18] 빌드 시간이 오래걸린 이유 / [29:30] junit jar를 dependency에 추가하는 작업 / [30:22] 플러그인을 연동하는 설정 / [30:33] build엘리먼트 선언 / [30:52] plugins에 복수개의 plugin지정 / [31:33] configuration을 이용해 옵션값 지정 / [32:22] wtpversion과 wtpContextName입력 / [33:45] Run As-Run Configurations / [34:43] 에러 발생 / [35:30] 버전 일치 / [36:07] 다시 빌드 / [36:21] 에러 내용 확인 / [36:45] 해당 라이브러리 삭제 후 JRE System Library추가 / [37:45] Tomcat Server / [38:15] 서버 세팅 완료 후 실행 / [38:58] Run Maven Build / [39:22] 404에러가 발생한 이유 / [39:45] pom.xml파일 각 탭의 기능 / [41:21] Dependencies / [42:07] Dependencies와 pom.xml의 연동 / [42:30] Dependencies에서 라이브러리 추가 / [43:05] spring-core라이브러리 추가 / [43:37] 해당 기능이 유용한 경우 / [45:30] 의존관계 설정을 자동화한 경우 / [46:15] Dependency Hierarchy / [46:43] 프로젝트의 Hierarchy구조와 의존관계에 있는 라이브러리 파악 / [47:22] Effective POM / [47:51] pom.xml / [48:12] m2eclipse 플러그인을 이용해서 얻을 수 있는 장점

09 이클립스 최신 버전 세팅 & 데이터베이스 연동 part1
이클립스 최신 버전인 Luna 버전으로 메이븐 프로젝트 생성/SQL 플러그인 설정/SQL 플러그인 적용을 통한 자동 SQL문 실행/SQL 플러그인과 메이븐 페이즈 연동
56분
책갈피 : [00:52] 이클립스 최신버전인 Luna버전 / [01:07] 인디고 버전으로 실습했던 이유 / [01:48] Luna버전으로 메이븐 프로젝트 생성 실습 / [02:12] Luna버전의 첫 화면 / [02:23] 폰트크기 설정 / [02:59] 자바 세팅 / [03:29] 최신버전 지정 / [03:53] Tomcat서버 지정 / [04:15] 메이븐 프로젝트 만들기 / [04:46] 프로젝트와 관련된 사항 입력 / [06:14] Build Path에 자바 설정 확인 / [07:00] Classpath Variables / [07:46] User Settings-Repository경로 변경 / [08:11] xml이 .m2밑에 위치하는 경우 / [08:54] 경로 변경 / [10:03] 빌드 작업 / [10:41] pom.xml동기화 / [11:45] 업데이트 프로젝트 / [12:39] 전에 생성한 alzio프로젝트 구성과 지금 생성한 alzio프로젝트 구성 비교 / [13:50] webapp폴더에 jsp파일 만들기 / [14:31] 빌드 / [14:52] 데이터베이스 연동 알아보기 / [15:24] 데이터에대한 단위테스트를 실행할 때 오류가 생기는 이유 / [16:36] 문제점 해결을 위한 메이븐 설정과 적용 방법 / [17:36] 데이터베이스용 테스트를 자동화하기위한 개발환경 설정 / [20:11] DBA의 데이터베이스 변경 권한 / [22:41] SQL플러그인을 활용해 데이터베이스 통합 실습 / [23:21] My SQL사용 / [23:37] 고려해야할 사항 / [24:11] SQL플러그인 / [24:36] SQL파일에 대한 설정을 하고 사용 / [25:00] 사이트에서 SQL플러그인 검색 / [25:18] Usage확인 / [25:29] Goals확인 / [26:03] pom.xml파일에 SQL플러그인 추가 / [26:30] Usage 보며 설정 / [27:14] groupId입력 / [27:45] artifactId입력 / [27:59] version입력 / [28:41] dependencies선언 / [28:56] 사용할 데이터베이스 정보 입력 / [29:37] configuration선언 / [30:18] 데이터베이스에 대한 접속정보 입력 / [30:26] driver설정 / [30:48] url설정 / [31:29] username입력 / [31:48] password입력 / [32:07] autocommit입력 / [32:37] srcFiles입력 / [34:50] 실행할 SQL문이 srcFile엘리먼트에 저장 / [35:34] 빌드-Run Configurations / [35:51] 빌드가 실행될 경로 지정 / [36:22] SQL파일을 만들고 쿼리문을 입력한 후 빌드명령 수행 / [36:49] 파일 생성 / [37:21] drop table if exists alzio의 의미 / [38:15] 생성할 alzio table의 값 입력 / [38:52] insert into를 사용해 데이터 입력 / [39:43] SQL실행을 위해 My SQL구동 / [40:30] mysql 접속 후 데이터베이스 선택 / [41:22] table명 변경 / [41:37] 빌드 수행 / [42:49] mysql창으로 이동해서 확인 / [43:07] 데이터 확인을 위한 명령어 입력 / [44:00] 문제점 확인 / [44:35] pom.xml파일 특정페이지에 sql플러그인에 goal연결 설정 / [46:07] test를 실행하기 전에 sql:execute goal실행 / [47:07] executions의 Usage확인 / [47:49] configuration밑에 executions선언 / [47:58] phase입력 / [48:12] goals입력 / [48:34] 빌드 수행 / [49:05] sql문 변경 후 다시 빌드 / [49:35] web.xml파일 복사 붙여넣기 / [50:00] 빌드 / [50:15] execution에러 해결 / [51:19] execution에러 해결 팁 / [52:00] Preferences-Lifecycle Mappings / [52:45] metadata입력 / [54:06] 업데이트 프로젝트

10 데이터베이스 연동 part2
SQL 플러그인과 메이븐 페이즈 연동/SQL 플러그인을 활용한 DB 삭제, 생성, 스키마 생성/db-migration 플러그인 활용
49분
책갈피 : [00:06] execution등록의 의미 / [00:40] 메이븐 페이즈와 골 연결 작업은 executions엘리먼트로 설정 / [01:26] 이클립스 pom.xml에 설정한 내용 확인 / [02:22] pom.xml파일 수정 / [02:37] goals아래에 configuration등록 / [02:44] srcFiles입력 / [03:28] 쿼리문이 들어있는 sql파일의 위치 / [04:00] table 생성 / [04:46] Run Configurations / [05:14] 빌드 진행 / [05:41] 메시지의 의미 / [06:15] mysql을 통해 실제 데이터가 잘 들어갔는지 확인 / [06:46] alzio_user2조회 / [08:03] sql플러그인의 또 다른 적용 실습 / [09:16] 데이터가 없는 상태로 테스트를 진행하고 싶을 경우 / [10:07] sql플러그인을 활용해서 실습 / [10:24] pom.xml파일의 url부분 확인 / [10:52] 데이터베이스 삭제 / [11:39] execution등록 후 id입력 / [11:50] phase입력 / [12:11] goal에 execute지정 / [12:43] configuration의 url지정 / [13:15] drop database에서 하는 일 / [13:45] sqlCommand엘리먼트 / [14:46] 데이터베이스 만들기 / [15:41] configuration의 url지정 / [16:07] 쿼리문 지정 / [16:41] sql문 실행 등록 / [17:00] 빌드 수행 살펴보기 / [17:52] alzio데이터베이스가 만들어졌으면 table생성 / [19:03] 페이즈 확인 / [19:48] 빌드 수행 / [20:15] 메시지 확인 / [21:29] mysql로 확인 / [21:48] 테이블 확인 후 데이터 조회 / [22:32] 다시 테스트 수행 / [23:07] 다시 빌드 / [23:22] 에러 확인 / [24:56] mysql로 실행 / [25:47] 데이터베이스에대한 모든 과정을 통합해서 얻는 장점 / [27:22] db-migration플러그인 / [28:17] db-migration플러그인을 사용하기 위해 플러그인 저장소 추가 / [28:41] pom.xml파일에 pluginRepositories추가 / [28:56] id값과 url값 입력 / [29:45] 플러그인을 위한 설정 / [30:22] db-migration플러그인 설정 / [30:32] groupId입력 / [30:45] artifactId입력 / [30:59] 버전 입력 / [31:18] 데이터베이스 접속정보 입력 / [32:21] 접속할 jdbc드라이버와 데이터베이스 접속 / [33:30] 에러 확인을 위해 빌드 / [34:57] db-migration플러그인에서는 sql문이 실행되는 경로 지정 / [36:30] db-migration용 sql파일 만들기 / [37:30] sql파일이 생긴 이유 / [38:37] sql문의 내용은 alzio-schema.sql복사 / [38:57] mysql에서 drop database alzio명령 입력 / [39:28] 실제 빌드명령 입력해서 빌드 / [39:52] 에러메시지 확인 / [40:44] 빌드 수행 / [41:28] mysql을 통해 확인 / [42:04] schema_version테이블이 하는 일 / [43:07] 빌드 수행 / [43:22] 빌드 메시지 확인 / [44:22] schema_version테이블 조회 / [44:52] 특정 컬럼이 필요하지만 테스트 데이터가 존재해서 테이블을 삭제할 수 없는 경우 / [45:20] Run Configurations에 sql파일문 만들기 / [45:45] alter table구문 입력 / [46:29] pom.xml파일에 executions입력 / [47:07] 데이터베이스 통합시 고려할 점

11 프로파일 이해 및 설정
빌드 이식성/프로파일 설정 기본/프로파일 activation 설정/프로파일 관리를 위한 설정 파일/프로파일을 이용한 서버 형상 별 리소스 관리
47분
책갈피 : [00:05] 메이븐의 프로파일기능과 배포기능 / [00:26] 이식성의 개념 / [00:57] 이식성의 특징 / [01:36] 빌드 이식성 / [03:07] 프로파일기능 제공 / [03:30] pom.xml파일 열기 / [03:51] 프로파일 추가 / [04:11] id입력-local / [04:15] properties엘리먼트 입력 / [05:13] 개발서버에 대한 데이터베이스 접속정보 입력 / [05:39] ip입력 / [06:12] 운영서버 입력 / [07:00] 엘리먼트들 살펴보기 / [07:27] profile이 갖는 고유의 id값 / [07:46] 메이븐 명령의 -p옵션으로 profile id전달 / [10:48] profile엘리먼트 아래에는 모든 엘리먼트 설정 가능 / [11:09] build엘리먼트 / [12:46] Test_profile_build / [13:22] 자주 사용하는 프로파일의 설정값을 메이븐의 기본 속성값으로 설정 / [14:05] 설정값 복사해서 properties엘리먼트에 입력 / [15:09] 프로파일 activation기능 / [15:56] activation엘리먼트 설정 / [16:11] activeByDefault엘리먼트 / [16:22] jdk버전 명시 / [17:07] activation엘리먼트를 활용할 경우 / [17:56] jdk엘리먼트 값 / [18:26] 범위값으로 설정 가능 / [19:32] 작성한 프로파일 삭제 후 프로파일 새로 작성 / [19:41] activation설정 / [20:18] os엘리먼트 설정 / [20:56] property설정 / [21:22] file설정 / [21:48] exists엘리먼트와 missing엘리먼트 / [22:47] 하나의 옵션만 일치하는 값이 있다면 local프로파일 실행 / [23:00] 프로파일 관리를 위한 설정 파일 / [24:48] 제한을 두는 이유 / [26:03] 실습 진행을 위해 activeByDefault값을 true로 설정 / [26:32] 빌드 실패의 이유 / [27:15] WEB-INF폴더 생성 후 web.xml파일 생성 / [27:37] 빌드 후 프로파일이 어디서 적용됐는지 확인 / [28:00] 명령어 입력 / [29:03] 프로파일 추가 / [29:51] 프로젝트에 적용된 모든 프로파일을 확인하고 싶을 경우 / [30:41] 프로파일 기능을 활용한 리소스 관리 / [31:48] src/main/resources디렉토리 / [32:07] 디렉토리 추가 / [32:35] 디렉토리 분리 / [33:06] pom.xml파일에 설정 / [33:21] build에 resources선언 / [33:37] resource에 directory선언 / [34:27] excludes에 exclude선언 / [35:00] directory선언 후 변수 입력 / [36:07] profile선언 / [36:52] properties에 env엘리먼트 선언 / [39:05] 기본 프로파일은 local프로파일로 지정 / [39:52] 이클립스 플러그인의 이클립스 goal을 수행하는 빌드 / [40:57] alzio프로젝트 선택 / [41:20] 빌드명령 입력 / [42:00] src/main/resources-local디렉토리 추가된것 확인 / [43:52] 빌드 / [45:22] 소스코드 개발 환경 / [47:08] 배포환경별로 디렉토리를 나누어 관리

12 배포 자동화 설정 및 리포팅 기능 part1
톰캣 manager 설정/톰캣 자동 배포 실습/소스코드 리포팅 기능의 필요성/undercover를 활용한 테스트 커버리지 측정
48분
책갈피 : [00:05] 배포 자동화 / [00:22] 소스코드의 버전관리 시스템 / [01:03] 지속적 통합툴 / [01:48] 배포 자동화를 플러그인을 이용해 pom.xml에 설정 / [02:15] tomcat플러그인 / [02:44] 플러스인 설정 방법 / [03:27] pom.xml에 plugins추가후 plugin설정 / [04:23] 각자 개발 환경에 맞는 환경설정 / [04:46] configuration엘리먼트 추가후 url설정 / [05:42] tomcat서버 기능 중 하나인 manager와 text / [06:11] path엘리먼트 추가 / [07:14] server엘리먼트 추가 / [07:53] tomcat설정 / [08:07] tomcat-users.xml파일 열기 / [08:24] role부여 / [09:13] 역할 명시 / [10:05] role을 매핑할 user지정 / [11:24] 매핑하기위한 설정 / [11:41] settings.xml파일 열기 / [12:11] server지정 / [12:37] username과 password입력 / [14:26] 빌드하기 위해 빌드 명령어 만들기 / [15:07] 빌드를 실패한 이유 / [16:41] tomcat서버 구동방법 / [17:30] 결과 확인 / [17:56] alzio 애플리케이션 확인 / [18:17] undeploy / [18:30] 다시 빌드 / [19:30] id와 password입력 창 / [21:26] 소스코드를 자동 배포하지 않는 설정방법 / [22:22] 리포팅 기능을 이용한 문서관리 / [22:41] 소스코드 품질 / [25:44] 리포트 플러그인을 활용해서 다양한 소스코드 품질 리포트 생성방벙 / [26:06] 리포트 생성기능 제공 / [27:03] pom.xml파일 설정 / [28:10] undercover툴 / [28:37] url에 undercover의 repository입력 / [29:07] reporting엘리먼트 사용 / [29:56] findbugs설정 / [30:22] pmd설정 / [30:48] jdepend설정 / [31:26] 빌드 / [31:56] 빌드 실패의 이유 / [33:07] 메이븐 버전에 맞는 설정하기 / [34:00] pluginRepository설정 / [34:37] undercover설명 / [36:07] repository 하나 더 선언 / [37:37] dependency추가 / [38:51] plugins엘리먼트 추가 / [39:37] maven-site-plugin의 레포팅을 만드는 역할 / [40:00] configuration안에 reportPlugins설정 / [40:45] undercover리포트를 생성하기위한 테스트 결과 데이터 만들기 / [41:37] site디렉토리 생성된것 확인 / [42:15] url호출 / [43:15] clean site명령으로 리포트 생성가능 / [44:15] undercover의 기능사용 설정 / [44:30] undercover에 추가할 수 있는 엘리먼트 / [44:45] includes / [45:15] excludes / [46:14] 소스인코딩 설정 / [46:30] 포맷 지정 / [47:15] 빌드

13 리포팅 기능 part2
findbugs 설정 및 리포트 생성/패턴 목록 관리/PMD 설정 및 리포트 생성/ruleset 관리/CPD 활용/jdepend 설정 및 리포트 생성/소스코드 품질에 대하여
49분
책갈피 : [00:02] findbugs / [00:26] findbugs설정방법 / [01:00] plugin을 추가해서 findbugs추가 / [01:57] 빌드 성공 / [02:44] findbugs메뉴 생성 / [03:07] fidnbugs에서 빌드하는 방법 / [03:34] 명령어 입력 / [04:08] 명령 수행 / [04:53] findbugsXml.xml파일생성 확인 / [05:26] findbugs에 대한 상세정보를 알 수 있는 사이트 / [06:12] findbugs에 대한 상세한 설정 / [06:46] findbugs에 필터링기능 / [07:09] findbugs리포트에서 제외할 패턴목록을 추가하는 방법 / [07:30] src/main/resources-dv디렉토리에 xml파일 생성 / [08:00] FindBugsFilter엘리먼트 / [08:22] Match엘리먼트와 Package속성 / [09:07] pattern입력 / [10:05] pom.xml파일에 bug_ex.xml파일을 읽을 수 있게 설정 / [10:33] configuration안에 설정 / [10:52] excludeFilterFile / [11:26] 생성한 xml파일 지정 / [12:16] 패턴목록을 추가하고 싶을 경우 / [12:33] includeFilterFile사용 / [13:33] 필터링할 항목은 Match엘리먼트를 이용해 설정 / [14:01] 설정값-Bug / [14:39] Package / [15:00] Class / [15:20] 메소드 / [15:35] Field / [15:48] Local / [16:00] Or / [16:26] 설정값을 사용한 부분 설명 / [17:25] findbugs에 필터링과 관련한 예제 웹사이트에서 제공 / [18:03] 빌드 실행 / [19:11] bug가 있다면 빌드를 실패하게 설정 / [19:26] executions엘리먼트 사용 / [19:41] phase설정 / [20:00] goal설정 / [20:29] 빌드 / [21:37] PMD리포트 툴 / [22:22] 새로운 플러그인 추가 / [23:03] 두가지의 빌드방법 / [23:48] clean site수행 / [24:21] pmd.html 웹브라우저 통해 열어보기 / [25:30] PMD리포트 생성 / [25:59] targetJdk설정 / [26:15] sourceEncoding설정 / [26:37] outputDirectory설정 / [26:52] format설정 / [27:03] clean site수행 / [27:37] 사이트 이동 / [28:32] 추가적인 rulesets사용을 위한 설정 / [29:03] ruleset선언 / [29:52] 빌드 / [30:18] 경로 확인 / [31:07] pmd.html파일 열기 / [31:55] CPD리포트 / [33:07] CPD툴 사용방법 / [33:30] cpd리포트만을 생성하려면 / [34:30] cpd리포트의 기본 설정 변경방법 / [35:00] minimumTokens설정 / [35:37] 중복코드 추출 / [35:52] jdepend리포트 툴 / [36:30] 해당 플러그인 추가 / [37:05] jdepend빌드하는 명령 만들기 / [37:52] 생성된 jdepend-report.html파일 열기 / [38:52] Explanation의 경우 / [39:37] TC, CC, AC설명 / [40:06] TC, CC, AC의 관계 / [40:22] Ca, Ce, A설명 / [41:37] I설명 / [42:34] I의 값 사용방법 / [43:22] D설명 / [45:22] 외부패키지와의 의존관계를 가질 경우 / [45:52] Cycles / [46:37] 순환 의존관계 / [47:14] 소스코드 향상을 위한 팁

14 메이븐 모듈 part1
메이븐 모듈 기능의 필요성/메이븐 모듈의 주요 개념/상속, 집합, 의존 관계/모듈 분리/소스코드 및 pom 파일 분리
54분
책갈피 : [00:04] 메이븐의 모듈 개념 / [00:50] 모듈기능 지원 / [01:26] 상속 개념 / [01:59] 메이븐에서 상속기능을 사용하기 위한 방법 / [02:37] 부모 pom파일 설정방법 실습 / [03:06] pom파일은 project로 시작 / [03:43] 폼파일을 새로 생성하거나 수정해서 사용 / [03:53] groupId지정 / [04:14] artifactId지정 / [04:38] version지정 / [04:53] packaging지정 / [05:24] 부모 pom파일을 이용해서 자식 pom파일설정 / [06:28] 자식 pom파일 설정방법 / [07:15] parent지정 / [08:01] 자식 pom파일은 부모 pom파일을 상속받는다는 의미 / [08:28] groupId, artifactId지정 / [08:54] version지정 / [09:20] 프로젝트를 여러개의 모듈 프로젝트로 나눌 때의 기준 / [11:16] 프로젝트를 나누었을 때의 구조 / [13:33] 기본값 재정의 relativePath / [14:50] 집합 개념 / [15:35] modules엘리먼트 설정 / [16:15] 부모 pom파일과 프로젝트의 집합관계 형성 / [17:11] 공통영역의 소스코드 변경 / [18:11] 의존관계 개념 / [19:07] 각 모듈간의 의존관계가 생겼을 경우의 설정방법 / [19:29] alzio-core와 의존관계를 갖게되는 alzio-web / [20:25] dependency엘리먼트 / [22:15] 모듈을 나눌 때 고려할 사항 / [22:51] 모듈 나누기 단계적으로 실행 / [23:10] 하위모듈 생성 / [24:03] 모듈 생성 방법 / [24:33] 이클립스에서 만드는 방법 / [25:26] 수동으로 추가하고 설정하는 방법 / [26:56] 생성된 프로젝트 확장 / [27:22] pom.xml파일 열기 / [28:10] webapp삭제 / [28:33] 집합관계 설정 / [29:10] Run Configurations에 clean test생성 / [29:40] 폴더 생성 / [30:22] 모듈 추가 / [31:03] alzio-web에 pom.xml파일 생성 / [31:29] alzio-web-admin에 pom.xml파일 생성 / [32:04] parent엘리먼트 이용 / [32:50] alzio-web의 pom.xml설정 / [33:22] alzio-web-admin의 pom.xml설정 / [33:49] 완성된 프로젝트의 구조 확인 / [34:30] 소스코드를 자식모듈로 이동 / [34:45] webapp이동 / [36:00] alzio-web-admin에 webapp붙여넣기 / [36:30] 자바소스코드 이동 / [38:21] 리소스 이동 / [39:45] 리소스를 core와 web에 복사 / [40:22] pom설정과 이동, 변경 / [40:37] 공통의 pom.xml파일 열기 / [41:15] junit / [41:37] struts2 / [41:59] spring / [42:22] mybtis / [43:07] war플러그인 / [43:44] pluginManagement선언 / [44:15] source와 target변경 / [45:37] clean test / [46:37] 공통부분을 관리하는 pom.xml생성 / [47:00] alzio-web-root폴더 생성후 pom.xml파일 생성 / [47:34] alzio pom.xml상속 / [48:30] modules추가 / [49:22] 상속과 집합 / [50:45] artifactId변경 / [51:13] relativePath지정 / [52:37] 빌드 / [52:49] 에러 확인 / [53:37] packaging명시 / [53:52] 빌드

15 메이븐 모듈 part2
공통 버전 사용 리팩토링/이클립스로 모듈 import/제티 서버 연동 팁/배치 모듈 추가/배치 모듈을 위한 배포 및 실행 팁
49분
책갈피 : [00:04] 메이븐 모듈 / [00:15] 공통으로 사용하는 버전 / [01:11] 버전을 효율적으로 관리하는 방법 / [01:26] 부모 pom파일로 이동 / [01:51] properties에 버전 입력 / [02:45] 분리 모듈의 버전 변경 / [03:22] 빌드 테스트 / [03:53] 프로젝트를 여러 모듈로 분리 / [04:27] 프로젝트를 분리할 때 / [05:41] 프로젝트르르 여러 모듈로 분리할 때 가장 중요한점 / [06:15] 이클립스로 모듈 import하는 방법 / [07:00] 이클립스를 가져오는 빌드 수행 / [07:15] Build Path확인 / [07:56] Maven-Existing Maven Projects / [08:30] 디렉토리 선택 / [09:09] alzio와 집합관계에 있는 모듈 / [09:48] 메이븐 플러그인 기반으로 프로젝트 관리 / [10:33] 빌드 테스트 / [10:54] 의존관계 설정부분 / [11:35] alzio-web-root의 pom.xml파일에 dependencies추가 / [12:11] 업데이트 프로젝트 / [12:28] Build Path확인 / [13:07] 라이브러리 삭제 / [13:31] 빌드 수행 / [14:26] 이클립스내에서 프로젝트 의존관계 자동설정 / [15:54] 제티서버 사용 / [16:26] 제티서버를 기반으로 웹 애플리케이션을 개발할 경우 / [16:56] 제티서버 연동 pom.xml에 설정 / [17:18] dependency추가 / [17:41] scope지정 / [18:11] 빌드 / [18:29] 제티서버 연동을 이용한 프로그래밍 실습 / [18:59] source folder생성 / [19:48] main에 java와 resources디렉토리 생성 / [20:26] 소스코드 추가를 위해 패키지 생성 / [20:41] 2개의 클래스 생성 / [21:10] JettyWebServerWrapper가 하는일 / [21:41] 생성자 만들기 / [22:22] 메소드 선언 / [23:03] 두가지의 public메소드 구현 / [23:44] private메소드들 호출 / [24:06] 제티서버 구동 / [24:41] JettyLauncher구현 / [25:48] 특정 디렉토리와 설정파일에 변경이 발생할 경우 / [27:18] 배치모듈 추가 실습 / [27:48] 배치모듈이 필요한 경우 / [28:41] alzio-batch폴더 생성후 pom.xml파일 생성 / [29:07] pom.xml설정 / [29:48] 상속을 나타내기 위해 parent선언 / [30:32] dependency지정 / [31:11] 의존관계 추가를 위해 검색 / [31:45] quartz / [32:07] 빌드 테스트 / [32:37] Build Path확인 / [33:30] 배치모듈을 실행하기위해 의존관계에 있는 라이브러리를 특정 디렉토리로 복사하는 방법 / [34:00] 배치모듈의 pom.xml파일 열기 / [34:21] 플러그인 입력 / [34:58] excution엘리먼트 / [35:52] outputDirectory지정 / [37:00] 스프링배치를 실행하는 설정 / [37:22] 플러그인 입력 / [37:51] configuration아래 올 수있는 엘리먼트 / [38:36] 빌드 수행 / [41:37] 정리 / [42:34] 프로젝트를 나눌 때 사용한 개념 / [43:45] alzio-web-root모듈 / [44:22] 배치모듈 추가 부분 / [46:00] 제티서버 / [47:52] 스프링배치 실행 과정

16 공통 리소스 중복 제거
antrun 플러그인을 활용한 리소스 중복 제거/메이븐의 프로파일을 활용한 리소스 중복 제거/모듈 배포를 위한 배치파일 제작
51분
책갈피 : [00:04] 리소스 중복 제거 / [01:07] 각 모듈의 불필요한 리소스 / [01:34] antrun 플러그인을 활용한 리소스 중복 제거 / [01:56] 공통 리소스 파일을 관리하기 위한 모듈 생성 / [02:30] alzio-resources폴더생성 확인 / [04:00] dv환경에서 로드할 수 있는 리소스를위한 디렉토리 생성 / [05:00] 공통의 pom.xml파일로 이동 / [05:15] antrun 플러그인 설정과 사용 / [06:15] 각 프로젝트 모듈간의 관계 구성 / [07:28] alzio-resources에 있는 리소스파일들을 각 모듈로 복사 / [08:30] alzio-core의 pom.xml파일에 플러그인 지정 / [08:56] antrun plugin검색 / [09:18] Usage확인 / [09:58] target에 명령 입력 / [11:07] artifactId선언 / [11:56] version명시 / [12:20] execution입력 / [12:43] execution아래 엘리먼트 설정 / [13:33] run이라는 goal실행 / [14:01] target엘리먼트 설정 / [14:33] copy명령 입력 / [14:58] fileset엘리먼트 선언 / [16:37] 공통 pom파일로 이동해서 프로파일 설정 확인 / [17:33] alzio-resources에 pom.xml파일생성 / [18:03] parent설정 / [18:37] artifactId명시 / [19:00] 빌드 수행 / [20:22] build-main.xml의 내용 확인 / [21:52] alzio-core에 했던 설정을 공통의 pom.xml에 설정 / [22:52] 빌드 수행 / [23:03] 에러 확인 / [24:22] properties추가 / [25:37] 다른 모듈에 properties재정의 / [26:33] 빌드 / [26:45] 결과 확인 / [27:48] 문제점 / [28:30] jar파일을 이용한 공통리소스 중복 제거 / [29:45] antrun설정 주석처리 / [30:33] clean package로 빌드 / [31:45] pom.xml파일의 가장 중요한 profile설정 / [32:29] artifactId에 env선언의 의미 / [33:34] build의 finalName지정 / [33:52] jar파일이 생성되는지 확인 / [34:22] 리소스 import / [35:15] 소스구조 확인 / [37:14] alzio의 pom.xml 리소스부분 / [38:00] jar파일 확인 / [38:45] 로컬로 빌드 / [39:14] resources설정으로 인해 얻는점 / [41:45] 배포가능 상태가된 jar파일을 필요한 모듈에서 의존관계 설정 / [42:07] 의존관계 설정을위해 dependency선언 / [42:30] version명시 / [43:00] 빌드 / [43:21] 에러 확인 / [44:00] version수정 / [45:45] 메이븐 업데이트 프로젝트 / [46:34] 빌드 / [48:07] 모듈 배포를위한 배치파일 제작 / [48:22] 배치파일을 만드는 방법

17 메이븐 사내 저장소 설치 및 활용
사내 저장소를 적용한 시스템 아키텍처 설명/사내 저장소 설치/저장소 설정/저장소 추가
54분
책갈피 : [00:05] 메이븐 사내 저장소 설치 및 활용 / [01:03] 내부에 메이븐 저장소를 두어 생기는 이점 / [03:37] 내부에 메이븐 저장소가 없을 경우의 시스템환경 / [03:59] 사내저장소를 적용한 시스템 아키텍처 설명 / [04:29] 메이븐 저장소의 종류 / [05:12] 로컬 저장소 / [05:58] 외부 원격 공개 저장소 / [06:09] 내부 원격 사설 저장소 / [06:41] 내부 메이븐 저장소로 활용할 수 있는 툴 / [07:00] 사내저장소 설치전에 넥서스 설명 / [07:54] nexus 설치 / [09:03] 넥서스의 최신버전 다운로드 / [10:33] war파일 복사후 톰캣 디렉토리의 bin디렉토리로 이동 / [11:01] 톰캣 컨테이너 구동 / [12:13] Tomcat의 8090포트로 이동 / [12:35] 넥서스 페이지 이름 간단하게 변경 / [13:09] Tomcat의 server.xml파일에서 설정 / [14:18] war파일의 이름 변경 / [14:30] Tomcat서버 재구동 / [15:18] url로 이동 / [15:41] 로그인 / [16:03] 패스워드 변경 / [16:29] Security-Users / [17:02] Set Password / [17:56] 넥서스의 저장소 설정방법 / [18:18] Repositories선택 / [18:48] 4개의 타입 존재 / [19:18] proxy타입 / [20:00] hosted타입 / [20:33] virtual타입 / [21:15] group타입 / [22:18] Public Reppositories와 저장소 group만 설정 / [22:48] 넥서스 저장소를 사용하기위한 설정 / [23:18] settings.xml파일 수정 / [23:41] mirror선언 / [24:18] url입력 / [25:03] profile설정 / [25:36] repository선언 / [26:10] releases엘리먼트 / [27:07] pluginRepositories선언 / [28:06] snapshots선언 / [28:33] activeProfiles엘리먼트 설정 / [29:10] mirror설정에 대한 설명 / [30:03] 새로운 profile을 만들어서 저장소를 설정하는 이유 / [31:07] settings.xml수정 후 프로젝트 빌드 / [31:22] 에러 확인 / [31:56] 다시 빌드 수행 / [32:45] alzio의 pom.xml파일 확인 / [33:13] localRepository를 지우고 다시 빌드 / [33:51] 에러 메시지 확인 / [34:29] 넥서스에 해당 라이브러리 사용할 수 있도록 설정 / [34:45] Add-Repository에 대한 종류 지정 / [34:52] Proxy Repository선택 / [35:15] carbonfive설정 / [36:07] CarbonFive Plugin Repository생긴것 확인 / [36:35] zact설정 / [37:04] Undercover Plugin Repository생긴것 확인 / [37:43] Public Repositories-Configuration으로 이동 / [38:36] 빌드 / [40:00] 에러 확인 / [40:42] 넥서스에 라이브러리 배포 / [41:07] 넥서스 메이븐 저장소에 라이브러리를 배포하는 방법 / [42:00] 3rd party-Artifact Upload선택 / [42:15] GAV Definition설명 / [43:05] jar파일 넥서스에 배포 / [44:21] Add one or more artifacts / [44:51] 배포 테스트 / [45:37] deploy페이지를 실행해서 사내 원격저장소에 자동으로 배포하는 실습 / [46:07] 로컬 저장소에 라이브러리를 배포하는 방법 / [48:52] deploy명령을 이용해서 alzio-resources모듈 배포 실습 / [49:28] 넥서스의 배포를 담당할 사용자 추가 / [50:15] settings.xml로 이동해 서버 추가 / [50:52] alzio-resources로 이동해 pom.xml수정 / [51:07] 배포할 서버 지정 / [51:52] url입력 / [52:23] 빌드

18 웹 공통 리소스에 대한 관리 & 표준 pom 파일 제작 part1
FileSync 이클립스 플러그인 설치 및 활용/antrun 플러그인을 활용한 공통 리소스 복사/빌드 팁/표준 pom 파일 제작 요구사항 분석/표준 pom 설정 프로젝트 제작
42분
책갈피 : [00:04] 웹 공통 리소스에대한 관리와 표준 pom파일 제작 / [00:35] 공통으로 사용하는 웹 자원 / [00:56] 웹 공통자원 관리 방법 / [01:30] 웹 공통자원의 특징 / [03:05] fileSync이클립스 플러그인 활용 / [03:36] fileSync이클립스 플러그인 설명 / [04:00] fileSync이클립스 플러그인 설치 / [04:56] 최신버전 활성화 / [05:30] 플러그인 설치 후 이클립스 재부팅 / [06:11] 설정을 하기위해 모듈을 이클립스로 import / [06:46] 새 프로젝트 생성 / [07:28] alzio-web-root생성 확인 / [07:38] Force File Synchronization / [08:01] 파일을 동기화 하기위한 디렉토리 설정 / [08:52] 새 폴더 생성 / [09:16] Properties-File Synchronization / [10:07] alzio-web모듈의 webapp디렉토리 / [11:18] 매핑 설정파일 직접 수정 / [12:07] fileSync에 설정되어 있는 설정 속성 확인 / [12:33] alzio-web과 alzio-web-admin모듈에 webapp디렉토리 동기화 / [13:54] 다양한 방법으로 동기화할 디렉토리 매핑 / [14:37] fileSync오류 해결 방법 / [15:37] 빌드할때 웹 공통자원을 alzio-web과 alzio-web-admin모듈로 동기화하게 설정 / [15:58] antrun플러그인 설정 가져오기 / [16:33] 옵션 추가 / [17:00] 빌드 / [18:17] 빌드할 때의 옵션 / [19:03] 에러메시지만 출력하고 싶을 경우의 옵션 / [19:26] 표준 pom파일 생성과 리팩토링 과정 / [19:44] 표준pom설정 파일제작 요구사항 분석 / [20:45] 표준 pom설정 프로젝트 제작 / [21:07] 각 모듈간의 상속관계 설계 / [22:10] 프로젝트 생성 / [22:59] 필요한 모듈 추가 / [24:11] pom.xml복사 / [24:37] 모듈명만 바꿔서 각각 붙여넣기 / [25:47] 각 모듈 설명 / [27:37] 각 모듈 상속 집합관계 만들기 / [28:29] tpl-parent에 build추가 / [29:51] tpl-web-parent변경 / [30:41] tpl-domain-parent와 tpl-web-parent를 상속받는 모듈 설정 / [32:45] relativePath지정 / [34:15] 다른데서 상속받을 수 있는 설정 / [34:52] tpl-web-parent설정 / [36:06] 상속관계인 모듈이 많을 경우 / [37:45] pom설정파일의 변경이 발생할 경우 / [38:07] 배포하기 설정 / [38:37] clean install / [39:04] 모듈 추가로 인해 집합관계 설정 / [39:30] 에러메시지 확인 / [40:50] 빌드

19 표준 pom 파일 제작 part2 & 아키타입 part1
의존 라이브러리 설정 및 관리/플러그인 설정 및 관리/POM 파일의 효율적인 관리 팁/아키타입 설명 및 활용/tpl 프로젝트 사내 저장소에 배포
46분
책갈피 : [00:08] 의존관계 라이브러리 추가 / [00:49] tpl-parent의 pom.xml파일에 설정 / [01:17] 의존관계를 추가할 수 있는 방법 / [01:42] junit추가 / [02:30] spring추가 / [03:29] 라이브러리 properties속성에 관리 / [05:00] tpl-domain-parent에 의존관계 추가 / [05:15] spring-core와 spring-beans추가 / [06:00] tpl-domain-hibernate에 라이브러리 추가 / [06:46] hibernate의존관계 설정 / [09:15] 버그가 발생했을 경우 / [10:22] tpl-domain-parent확인 / [10:46] commons-logging 1.1.3버전 / [11:16] tpl-domain-hibernate확인 / [11:33] commons-logging의 다른 버전 / [11:52] 프로젝트에서 사용하는 라이브러리 버전 고정 / [12:13] tpl-parent의 pom.xml파일에 의존관계로 설정했던 모든 라이브러리 설정 / [12:28] dependencyManagement입력 / [12:58] 주석을 사용해 라이브러리 분리 / [13:22] 설정했던 라이브러리 가져오기 / [14:31] 빌드 / [14:50] 공통의 pom.xml에 dependencyManagement를 사용하지 않았을 경우 / [16:07] hibernate의 pom파일에서 의존관계 설정 / [16:41] 빌드 / [17:07] domain-parent에 의존관계 설정 / [18:07] commons-logging에 대한 의존관계 문제 / [18:26] commons-logging에 대한 dependency추가 / [18:59] commons-logging버전 properties에서 관리 / [19:21] 로컬 repository삭제 / [19:47] 빌드 / [20:41] 버전 바뀐것 확인 / [21:22] 메이븐의 dependencyManagement의 기능 / [23:37] 의존성 전이 기능 때문에 버전 충돌의 문제점 해결 방법 / [24:07] dependencyManagement설정을 활용하는 방법 / [24:33] 플러그인 관리 방법 / [24:55] 이클립스 플러그인 설정 가져오기 / [25:29] 플러그인 아래에 메이븐 이클립스 플러그인 설정 / [25:56] configuration엘리먼트 사용 / [26:26] downloadSources엘리먼트 사용 / [27:02] additionalBuildcommands엘리먼트 사용 / [27:44] additionalProjectnatures엘리먼트 사용 / [28:47] 플러그인 설정을 tpl-parent모듈과 tpl-web-parent모듈에 분리해서 설정 / [29:18] pluginManagement사용 / [29:48] web-parent에 플러그인 추가 / [31:30] tpl-parent의 pom.xml파일에 플러그인 추가 / [32:07] url입력 / [33:14] domain-parent의 build에 plugin설정 / [34:27] pom파일의 효율적인 관리 팁 / [34:52] 리팩토링 / [35:22] 리팩토링으로 해결될 수 없는 상황 / [38:45] 아키타입 설명 및 활용 / [40:00] 나만의 아키타입을 만드는 방법 / [40:13] 아키타입을 생성하기전에 분석해야할 내용 / [40:52] 예제소스를 포함하는 아키타입과 포함하지 않는 아키타입을 분리해서 제공 / [41:35] 생성한 프로젝트를 아키타입으로 자동변환하는 기능 / [42:05] tpl 프로젝트 사내 저장소 배포 / [42:34] distributionManagement설정 / [44:00] Releases사용 / [44:27] 스냅샷 추가후 배포 / [45:31] 빌드메시지 확인

20 아키타입 part2
Hibernate를 상속받는 샘플 프로젝트 생성/샘플 프로젝트 기반 아키타입 생성/생성한 아키타입 활용/아키타입 소스 분석/효율적인 아키타입 생성 및 분석
51분
책갈피 : [00:06] 아키타입 만드는 과정 / [00:33] 샘플프로젝트 생성 후 아키타입 생성 / [01:10] 새 프로젝트 생성 / [01:59] tpl-samples-ibatis프로젝트 생성 확인 / [02:15] java build path / [02:46] pom.xml로 이동해서 상속받는 코드 입력 / [03:30] 중복되는 값 제거 / [04:15] relativePath설정 부분 / [05:15] 샘플소스 만들기 / [05:53] tpl-parent의 pom파일에 Ibatis라이브러리 추가 / [06:29] ibatis에서 사용하기위해 groupId와 artifactId명시 / [06:57] project배포된것 확인 / [07:30] 메이븐의 아키타입 플러그인을 활용해서 ibatis프로젝트를 아키타입 프로젝트로 변환 / [08:11] 이클립스에서 빌드 / [08:26] 빌드 명령어 만들기 / [08:56] 명령 실행 / [09:20] 에러메시지 확인 / [09:39] 외부에 설치된 메이븐을 사용하게 설정하는 방법 / [10:31] 변경 후 빌드 수행 / [11:15] 하위버전의 플러그인 활용 설정방법 / [11:31] pom.xml에 플러그인 설정 / [12:45] 아키타입 프로젝트 디렉토리 구조 확인 / [14:28] 자동으로 생성된 pom.xml의 내용 확인 / [16:07] 아키타입을 메이븐 사내 저장소에 배포 / [16:47] 빌드 / [17:02] 사내 저장소에 배포되었는지 확인 / [17:37] jar-Artifact / [17:56] Checksums / [18:11] Maven버튼 선택 / [18:40] 생성한 아키타입을 활용하는 실습 / [19:33] 아키타입을 만드는 명령 / [20:52] public repositories url지정 / [21:29] 이클립스를 통해 아키타입을 활용한 프로젝트를 만들기 / [21:41] 새 프로젝트 생성 / [22:18] Add Remote Catalog / [22:33] archetype-catalog.xml파일을 이용해 아키타입을 만들 수 있게 지원 / [23:52] Add Archetype / [24:55] groupId, artifactId, package지정 / [25:52] build path / [26:33] 버전을 맞춘 이유 / [28:02] 이클립스 import / [29:21] 메이븐 프로젝트로 변환 / [29:48] 아키타입 소스 분석 / [30:30] 아키타입의 내용을 변경할 경우 / [30:52] 아키타입 소스를 바탕으로 아키타입 프로젝트 이해 / [31:15] archetype-resources에서 관리하는 소스코드 배포 가능 / [31:52] archetype-metadata.xml파일 열기 / [34:22] 주석처리 / [34:51] 넥서스에 배포되어있는 아키타입 삭제 / [35:27] 넥서스에 변경한 아키타입 확인 / [35:52] 새 프로젝트 생성 / [36:50] 에러 메시지 확인 / [37:30] 주석처리 해제 / [37:44] 빌드 / [38:07] .settings, .classpath, .project디렉토리 삭제 / [39:30] 넥서스에서 아키타입 배포 확인 / [40:00] 다시 프로젝트 생성 / [41:51] 아키타입 프로젝트 생성시 동적으로 변경되어야 하는 부분 / [42:45] pom.xml파일 열기 / [46:00] 아키타입을 효과적으로 관리하고 운영하기 위한 팁 / [49:00] 표준 pom과 아키타입을 만드는 방법은 요구사항에 따라서 다양하게 가능 / [50:15] 자동화된 개발환경을 만들기위한 방법


샘플확인 : 알지오 검색후 -> 강의검색란 -> Maven