2019/03

자원 복사 및 소스 코드 컴파일 process-resources와 compile 페이즈를 알아보자. 아래와 같은 명령어를 실행하면 src/main/java 디렉토리 아래의 모든 소스 코드가 컴파일된다. mvn compile compile 페이즈 실행 과정 의존 관계에 있는 process-resources 페이즈 실행 (resources 플러그인의 resources골이 실행) resources 골은 src/main/resources 디렉토리에 있는 모든 자원을 target/classes 디렉토리로 복사 만약 엘리먼트를 재정의했다면 재정의한 규칙에 따라 자원을 복사한다. ... src/main/resources src/main/java **/*.java ... 마이바티스 프레임워크..
메이븐 페이즈와 플러그인 메이븐이 제공하는 모든 기능은 플러그인 기반으로 동작한다. 메이븐 페이즈 또한 플러그인을 통하여 실질적인 작업이 실행된다. 고로 메이븐에서 플러그인은 매우 중요하다..! 메이븐 플러그인 ... org.apache.maven.plugins maven-compiler-plugin 2.1 ... 위의 소스는 compiler 플러그인을 사용하도록 설정한 것이다. 메이븐 플러그인은 하나의 플러그인에서 여러 작업을 수행할 수 있도록 지원한다. 실행할 수 있는 각각의 작업을 골(goal)이라고 정의한다. 예를 들면 compiler 플러그인은 하나지만 이 플러그인은 아래와 같은 골(goal)들을 지원한다. sourceDirectory의 소스 코드를 컴파일 하는 compile 골 testSour..
메이븐 라이프사이클 참고) 메이븐 Getting Started 메이븐은 빌드 라이프사이클을 가지며, 라이프사이클의 각 단계를 페이즈라고 부른다. 메이븐의 라이프사이클과 페이즈 메이븐 빌드를 앤트(Ant)빌드와 비교해보자. 앤트는 빌드하기 위한 단위로 타겟을 사용한다. 앤트 기반의 빌드 스크립트 앤트 빌드는 엘리먼트 생성과 엘리먼트 사이의 의존관계를 개발자가 자유롭게 설정할 수 있다. 메이븐 빌드보다 자유로운편이라 느껴진다. 프로젝트 빌드 과정(일반적) 빌드 결과물 삭제 컴파일에 필요한 자원을 복사 소스 코드 컴파일 테스트 패키지 배포 앤트(Ant)에서는 이 각각의 단계를 으로 만든 후 각 타겟의 의존 관계를 만들어 순서를 결정한다. 메이븐도 순서는 같으며, 다른 점..
느낀점 Git을 도입하려다보니, 생각해야되는게 생각보다 많았다. 무엇인가 변화를 주는 것은 어려운 것 같다. maven의 profile 과 module은 정말 편리한 기능인거 같음 maven 리포팅관련 기능도 살펴보아야함 주말에 Git을 해야함
maven plugin을 설정하고 mvn test 명령을 실행하였더니, 아래와 같은 오류가 났다. [ERROR] Error resolving version for plugin 'org.apache.maven.plugins:maven-dependency' from the repositories [local (C:\Users\xxx\.m2\repository), central (https://repo.maven.apache.org/maven2)]: Plugin not found in any plugin repository -> [Help 1] plugin을 찾을 수 없다는 오류인데, 처음에는 repository의 설정 문제라고 생각하였으나.. pom.xml plugin 설정에 version이 빠질때 발생할 ..
메이븐 설정 파일 알아야할 설정 파일 settings.xml (메이븐 빌드툴 관련) pom.xml (메이븐 기반 프로젝트에서 사용하는 설정 파일) pom.xml 설정 파일 메이븐은 빌드와 관련된 정보를 프로젝트 객체 모델(Project Object Model)이라는 이름으로 정의한다.메이븐의 'mvn' 명령은 기본적으로 pom.xml파일을 읽어 빌드를 실행한다. (pom.xml 파일이 아닌 다른 설정 파일을 사용하려면 -f 또는 --file 옵션을 사용한다.) mvn -f customPom.xml package POM은 크게 4가지 카테고리로 분류된다. 프로젝트 기본 정보 빌드 설정 프로젝트 관계 설정 (dependency 관련) 빌드 환경 (빌드환경에 따른 정보, 프로파일) 프로젝트 기본 정보프로젝트 ..
메이븐 설정 파일 알아야할 설정 파일 settings.xml (메이븐 빌드툴 관련) pom.xml (메이븐 기반 프로젝트에서 사용하는 설정 파일) settings.xml 설정파일 MAVEN_HOME/conf 디렉토리에 위치하며 메이븐을 설치하면 기본으로 제공된다. (전역적)추가적인 설정이 필요한 경우 주석 처리되어 있는 부분을 제거하여 설정하는 것이 가능사용자별로 다른 설정을 하려면 USER_HOME/.m2 디렉토리에 settings.xml 설정 파일을 추가하여 설정하는 것이 가능하다. 사용자 설정 파일은 직접 생성해야한다. (MAVEN_HOME/conf/settings.xml 을 복사해서 사용가능)로컬 저장소의 위치를 바꾸고 싶다면 MAVEN_HOME/conf 디렉토리의 settings.xml 파일을 ..
빌드도구의 등장"개발자들이 단순, 반복적으로 실행하는 작업을 자동화함으로써 업무를 효율화할 수 있는 방법이 없을까?"지원 기능 목록 빌드 무선화 리포팅 의존 관계 소스 코드 관리 릴리즈 배포 앤트 메이븐메이븐은 메이븐이 접근할 수 있는 저장소를 지원저장소를 통하여 템플릿 프로젝트인 아키타입(Archetype), 의존관계에 있는 라이브러리, 메이븐 플러그인 기능을 지원(메이븐만 설치하면 프로젝트 빌드에 필요한 라이브러리, 플러그인을 저장소에서 개발자 PC로 자동 다운로드) 메이븐 설치 및 템플릿 프로젝트 생성 메이븐 설치 최신버전 다운(http://maven.apache.org/download.cgi) 시스템 환경 변수에 MAVEN_HOME 추가 시스템 환경 변수 PATH에 MAVEN_HOME/bin 추가..
느낀점maven 빌드의 이점을 정확하게 알기위해선 ant 빌드의 장,단점을 파악해야 그 진가를 알 수 있을 것 같이 보인다.ant 빌드를 간단히 알아보고, 왜 ant 빌드보다 maven이 많이 사용되는지 파악해보자
동기화된 컬렉션(thread-safe한 collection), 병렬처리 컬렉션 컬렉션 프레임워크 대부분 싱글 스레드 환경에서 사용할 수 있도록 설계Vector, Hashtable은 동기화된 (synchronized) 메소드로 구성되어 있기 때문에 멀티 스레드 환경에서 안전함하지만 ArrayList, HashSet, HashMap 은 멀티스레드 환경에서 안전하지 않다. 따라서 자바에서는 Collections의 synchronizedXXX() 메소드를 제공한다.매개값으로 컬렉션을 대입하면 동기화된 컬렉션을 리턴한다. 리턴 타입메소드(매개변수)설명 ListsynchronizedList(List list)List를 동기화된 List로 리턴MapsynchronizedMap(Map m)Map을 동기화된 Map으로 ..
깡냉쓰
'2019/03 글 목록 (2 Page)