빌드 도구(Build tool)

 - 빌드 도구란 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램.
 - 빠른기간동안 계속해서 늘어나는 라이브러리 추가, 프로젝트를 진행하며 라이브러리의 버전 동기화의 어려움을 해소하고자 등장.
 - 초기의 java 빌드도구로 Ant를 많이 사용하였으나 최근 많은 빌드도구들이 생겨나 Maven이 많이 쓰였고, 현재는 Gradle이 많이 쓰인다.
(Ant는 스크립트 작성도 많고, 라이브러리 의존관리가 되지 않아 불편함)

2 Ant vs Maven

1. Ant는 비교적 자유도가 높은 편
    (Ant : 전처리 / 컴파일 / 패키징 / 테스팅 / 배포 가능)

2. Maven은 정해진 라이프사이클에 의하여 작업 수행하며, 전반적인 프로젝트 관리 기능까지 포함.
    (Build Tool + Project Management)

 

1) Maven 설치

   ㅁ Download : http://maven.apache.org/download.cgi

하단에 Files 에 해당 버전 Zip파일을 로칼 저장

   특정경로에 압축을 풀고  D:/DevPrograms/apache-maven.3.3.3

  ㅁ 윈도우 환경설정 하단 4가지 설정

      JAVA_HOME=C:\DevPrograms\Java\jdk1.8.0_40

      M2_HOME=D:\DevPrograms\apache-maven-3.3.3

      M2=%M2_HOME%\bin

      Path=;%M2%;%JAVA_HOME%\bin

고급 시스템설정 -> 환경설정

    ㅁ 설치확인 : 윈도우 커멘드에서 

          mvn --version

Maven 설치 확인

    ㅁ Repository 설정

        repository 폴더를 만들고 해당 폴더를 Maven설치에 conf dp settings.xml 에 추가 함

Settings.xml

       <localRepository>D:\DevPrograms\apache-maven-3.3.3\repository</localRepository>

 

2) 이클립스 설치

    ㅁ 이클립스 설치

    도움말->Install New SoftWare

       Name: m2e

       Location: http://download.eclipse.org/technology/m2e/releases  

설치경로 추가
설치파일 선택 및 설치

    ㅁ 이클립스 설정

        Window->Reference

Maven 설정

Add 

해당설치 경로 추가
추가된 환경설정 지정
Settings.xml 환경설정 파일 위치 지정

3) Maven 프로젝트 추가

    Maven 에서 가져오기 설정

   

신규프로젝트 선택
Group id 및 Artifact id 추가

추가후 pom.xml 편집하면 됨

repostitories : 저장소 위치

dependency : 모듈 명 및 버전

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.dicws</groupId>
	<artifactId>maven</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>maven</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<repositories>
		<repository>
			<id>oracle</id>
			<name>ORACLE JDBC Repository</name>
			<url>http://maven.jahia.org/maven2</url>
		</repository>
	</repositories>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<!-- Oracle database driver -->
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc7</artifactId>
			<version>12.1.0.2</version>
		</dependency>

		<dependency>
			<groupId>com.oracle.database.jdbc</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>11.2.0.4</version>
		</dependency>

		<!-- Mongo database driver -->
		<dependency>
			<groupId>org.mongodb</groupId>
			<artifactId>mongo-java-driver</artifactId>
			<version>3.12.7</version>
		</dependency>

		<!-- Mysql database driver -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.22</version>
		</dependency>

		<!-- SQLLite database driver -->
		<dependency>
			<groupId>io.github.willena</groupId>
			<artifactId>sqlite-jdbc</artifactId>
			<version>3.33.0.1</version>
		</dependency>

	</dependencies>
</project>

+ Recent posts