Maven, JavaDoc, CheckStyle, JUnit

2020. 5. 22. 13:00JAVA

Maven

-> java build tool

1) 프로그램 실행 과정

Source Code 작성 -> Class생성(Byte code - 중간 코드): 이 과정을 Compile이라고 함.

이 때는 문법 검사를 수행해서 문법에 맞지 않는 경우 class를 생성하지 않음

-> 개발자가 작성한 class와 외부 라이브러리 class를 가지고 startup code를 추가해서 실행 가능한 코드를 생성

     이 과정을 build라고 함. 이 때는 문법 검사를 하지 않고 시작점이 어디인지 등을 확인

 

실행 : Run

실제 데이터들의 값을 가지고 수행해서 값이 없거나 잘못되면 예외를 발생시킴

 

2) Java의 build tool

- Maven: pom.xml에 기반한 방식 - xml이용

- Gradle: build.gradle에 기반한 방식 - Json이용 - Android Studio에서 사용

 

- Legacy Project(우리나라의 경우는 대기업이나 금융, 공공기관 프로젝트)에서는 Maven을 많이 사용하고 Android 개발이나 소규모 Project에서는 gradle을 많이 사용함

 

3) Build Tool이 있는 경우와 없는 경우의 차이

- build tool이 없는 경우 

  외부 라이브러리를 다운로드

  외부 라이브러리를 프로젝트에 추가

  외부 라이브러리를 build path에 추가

 

- build tool을 사용하는 경우

  build tool이 제공하는 설정 파일에 외부 라이브러리 이름을 작성

  build tool이 자신의 컴퓨터에서 외부 라이브러리가 있는지 찾아보고 없으면 다운로드에서 저장하고

  프로젝트에 복사를 해서 알아서 build path에 추가해줌.

 

4) Build Tool의 장점

- 외부 라이브러리의 버전 등이 변경된 경우에 build tool을 사용하면 텍스트만 변경

- 여러 개발자가 공통으로 작업하는 경우 설정 파일만 복사하면 동일한 환경에서 개발할 수 있음

 

*Maven에 대한 설명이 자세한 블로그

goddaehee.tistory.com/199

 

[Maven] Maven 이란? (정의, 예제)

[Maven] 메이븐 이란? (정의, 예제) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 메이븐 알아보기 ] 입니다. : ) 1. 빌드 (Build) #1 빌드란? - 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨

goddaehee.tistory.com

 

 

5) pom.xml

- maven 환경 설정 파일

- maven 기반의 프로젝트에서는 가장 먼저 수행

 

- repositories: 외부 라이브러리를 다운로드 받을 저장소를 설정

설정하지 않으면 maven central repository에서 다운로드

기업에서는 아무 라이브러리나 사용할 수 없어서 기업 내의 repository를 만들고 라이브러를 다운로드

CDN: Content Delivery Network - 라이브러리를 모아놓은 네트워크

 

- dependency: 실제 사용할 라이브러리를 설정

 

6) www.mvnrepository.com  

 

Maven Repository: Search/Browse/Explore

Event sources for AWS Lambda Last Release on May 21, 2020

mvnrepository.com

- 자바 외부 라이브러리의 maven dependency나 gradle의 dependency를 검색할 수 있는 사이트

 

8). 프로젝트를 Maven 프로젝트로 변환

- 프로젝트 우클릭 [Configure] -> [Convert to Maven Project]

- 프로젝트 이름 상단에 M이 보임: Maven Project

- pom.xml 파일이 추가

 

9). pom.xml 파일에 mysql의존성(라이브러리를 가져와서 build path에 추가)을 추가

 

mysql dependy 추가

 

Maven Dependencies 폴더가 자동으로 생성, 필요한 드라이버가 자동으로 추가되었다.

 

- 직접 드라이버 파일을 다운로드 받아 buildpath에 추가해줄 필요가 없음

 

10) maven의 외부 라이브러리 사용 원리

- pom.xml의 dependencies 태그를 확인해 필요한 라이브러리를 확인

- 자신의 계정/.m2 라는 디렉토리에서 라이브러리가 있는지 확인하고 없으면 다운로드

* 맥이나 리눅스에서는 앞에 .이 붙으면 숨김 디렉토리라 확인 못함(shift + command + .을 눌러야 확인 가능)

- 다운로드 받은 파일을 프로젝트에 복사한 후 (지가 알아서) build path에 추가함.

 

11) Maven 오류

- Maven 프로젝트를 만들었는데 가장 상단의 태그에서 plug-in 오류가 발생하는 경우

pom.xml 파일의 dependencies 태그에 추가

 

dependency에 오류가 발생한 경우: 중앙저장소에 없거나 잘못된 의존성을 설정

중앙저장소를 설정하거나 의존성을 수정

 

- 의존성에는 에러가 없는데 프로그램을 실행하면 클래스가 없다고 에러 나는 경우

   다운로드를 제대로 받지 못해서임

 

2. DJ JavaDoc

- 자바 개발 문서를 만드는 기능

- JavaDoc 주석을 만들 때는 /**로 시작

- 주석을 만들면 eclipse에서 마우스를 가져다 놓으면 툴팁으로 메시지를 출력

- 클래스,필드,메소드 모두 주석 생성 가능

 

JavaDoc

 

[Project] - [Generate JavaDoc]를 클릭

 

 

3. CheckStyle

- 자바의 기본 규칙에 맞지 않게 작성된 코드에 경고를 표시해주는 라이브러리

 

1) plug-in 설치

- [Help] - [Eclipse MarketPlace]에서 CheckStyle plug-in으로 검색해서 설치

 

2) 사용

- 프로젝트를 선택하고 마우스 오른쪽을 클릭 한 후 [Properties]를 선택

- CheckStyle 탭을 선택하고 오른쪽 창에서 프로젝트에 활성화한다는 메뉴 선택

 

4. JUnit

- 단위 테스트를 위한 라이브러리

- Unii Test: 프로그램을 구성하는 기본 단위 프로그램이 정상적으로 동작하는지 테스트

- TDD(Test Driven Development): 테스트 주도 개발

프로그램을 구성하는 부분을 먼저 테스트해보고 구현

 

1) Eclipse에서 사용할 수 있도록 설정

-> 프로젝트를 선택해고 마우스 오른쪽을 눌러서 [Properties]를 선택

Java Build Path를 선택하고 오른쪽 창에서 Add Library, Junit 선택

JUnit Ribrary 추가

2) 사용

- TestCase로부터 상속받는 클래스를 만드록 메소드를 생성해도 되고 일반 클래스에 메소드를 만들고

   위에 @Test를 추가해도 됨.

 

@Test 어노테이션 추가, main메소드 없이 테스트 가능

 

3) 실행

-> 메소드 위에서 마우스 오른쪽을 누르고 [Run As] - [JUnit Test]를 선택

실행

 

 

'JAVA' 카테고리의 다른 글

CSV(Comma - Separated Values)  (0) 2020.05.22
JDBC  (0) 2020.05.12
팰린드롬(토마토,스위스,기러기) 확인하기  (0) 2020.05.08
10진수 정수를 2진수 10자리로 표현하기~  (0) 2020.05.08
Open API  (0) 2020.05.04