본문 바로가기
java

[JAVA] 빌드(build)

by CodeMango 2023. 5. 26.

1. 빌드(build)

소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립 SW가공물로 변환시키는 과정입니다.

* 독립 SW 가공물 = Artifact

 

컴파일과 다른 점은 빌드는 독립소프트

 

빌드 세분화

1) 소스 코드를 컴파일 한다

2) 테스트 코드를 컴파일 한다

3) 테스트 코드를 실행한다

4) 테스트 코드 리포트를 작성한다

5) 기타 추가 설정한 작업들을 진행한다

6) 패키징을 수행한다 : 다른사람들이 만들어놓은 오픈 소스를 나의 코드와 묶는것

7) 최종 SW 결과물(artifact)을 만들어 낸다.

 

2. 실행(run)

내가 작성한 코드 (혹은 테스트 코드)를

컴파일을 거쳐, 작동시켜 보는 것

 

독립 SW가공물이 나올 수도 있고, 나오지 않을 수도 있다.

 

주의 : 인터프리터 언어는 컴파일이 필요 없다.

인터프리터 언어 : 컴파일 없이 인터프리터가 한줄씩 한줄씩 실행시켜주는 언어를 말합니다.

 

 

3. 빌드 툴(build tool)

빌드를 수동으로 한다면 resource가 많이 듭니다.

따라서 소스코드의 빌드 과정을 자동으로 처리 해주는 프로그램이 필요합니다. 그것이 빌드툴입니다.

1. 소스코드의 빌드 과정을 자동으로 처리 해주는 프로그램

2. 외부 소스 코드(외부 라이브러리) 자동 추가, 관리

자바에서 쓰이는 빌드 툴은 Ant, Maven, Gradle 세가지가 있습니다.

 

이 중에서 Gradle은 가장 최신에 나온 java 빌드 툴이고 성능이 뛰어나서 신규 프로젝트에 많이 사용되고 있습니다.

 

Maven

- 설정을 위해 xml을 사용합니다

- 외부 라이브러리를 관리할 수 있습니다.

- 장황한 빌드 스크립트 문제를 해결할 수 있습니다.

- 특정 경우에 xml이 복잡해집니다.

- xml자체의 한계가 있습니다.

 

Gradle

- 설정을 위해 groovy(JVM 언어) 언어를 사용합니다.

- 외부 라이브러리를 관리할 수 있습니다.

- 유연하게 빌드 스크립트를 작성할 수 있습니다.

- 성능이 뛰어납니다.

 

 

'java' 카테고리의 다른 글

[JAVA] JPA 대충정리  (0) 2023.06.25
[java] 익명클래스  (0) 2023.06.14
[개념]JDK, JRE, JVM  (0) 2023.05.26
"/" (슬래시)의 의미 = 생략  (0) 2023.03.26
[java] 헷갈리는 return의 의미: 결과반환 or 호출한 곳으로 가기  (0) 2023.02.22

댓글