[JAVA] JDK 란?JRE 란? 빌드도구란? Ant란? Gradle이란? Maven이란?(build tools)
안녕하세요 ~! 민제로입니당. 오랜만에 올리는 블로그 ,,
감회가 새롭습니다 ,,, 이제 주기적으로 블로깅 잘할거에요 ㅠㅠ 😁
요즘 스프링부트로 프로젝트 한참 진행 중인데
자바에 대해 조금 자세히 조사해봤어요롤
같이 봅시다
[JAVA의 개발 환경]
Java SE의 JDK 구조
JDK : Java Development Kit (할아버지)
JDK = JRE + 개발/디버깅 도구
JRE : Java Runtime Environment (아버지)
JRE = JVM + Java 패키지 클래스(util, math, lang, awt, 스윙 등) + 런타임 라이브러리.
JVM : Java Virtual Machine (아들)
JVM = 클래스 로더 시스템 + 런타임 데이터 영역 + 실행 엔진
bin/
: Java 실행 프로그램이 포함되어 있다.
conf/
: 사용자가 편집할 수 있는 구성 파일(configuration files)이 있다.
lib/
: 여러가지 supporting 파일이 존재한다. .jar 구성 파일, 속성 파일, 글꼴 등이 있다. 가장 중요한 모듈도 있다. 자바 표준 라이브러리의 .class 파일을 포함하는 모듈이 있다.
- <bin> 디렉터리에 들어있는 주요 개발 소프트웨어
javac
: 자바 컴파일러, 자바 소스를 바이트 코드로(0과 1) 변환java
: 자바 프로그램 실행기, JVM 작동시켜 프로그램 실행javadoc
: 자바 소스를 HTML 형식의 API 문서 생성jar
: 자바 클래스 파일을 압축한 자바 아카이브(Java Archive) 파일(.jar) 생성 및 관리jmod
: 자바의 모듈 파일(.jmod)을 만들거나 모듈 파일의 내용 출력jlink
: 응용프로그램에 맞춘 맞춤형(custom) JRE 생성jdb
: 자바 응용프로그램의 실행 중 오류를 찾는 데 사용하는 디버거javap
: 클래스 파일의 바이트 코드를 소스와 함께 보여주는 디어셈블러
[JAVA Build Tools]
빌드 도구(Build Tool)란?
- 소스 코드를 컴파일, 테스트, 정적 분석(*static analysis) 등을 실시하여 실행 가능한 애플리케이션으로 자동 생성하는 프로그램
- 계속해서 늘어나는 라이브러리 자동 추가 및 관리
- 프로젝트를 진행하며 시간이 지남에 따라 라이브러리의 버전을 자동으로 동기화
*정적 분석(static analysis)은 실제 실행 없이 컴퓨터 소프트웨어를 분석하는 것을 말한다.
빌드 도구 종류
각 디렉토리 프로젝트 구조(directory project structure)
- Ant
- Maven
- Gradle
푸하항 다음 글에서 Maven과 Gradle에 대해 자세히 알아볼게요 ㅎ
[JAVA] 빌드도구(Build Tools)란? Maven, Gradle 차이점, 장단점/spring build tools
'Programming' 카테고리의 다른 글
[OAuth2] 소셜 로그인 Kakao API 키 발급 방법 (2) | 2023.06.05 |
---|---|
[OAuth2] 소셜 로그인 Google API 키 발급 방법 (0) | 2023.05.31 |
slack, github 연동 방법 (0) | 2023.05.25 |
[JAVA] 자바 빌드 도구 종류? Maven, Gradle 차이점, 장단점, 플러그인/spring build tools, plugins (0) | 2022.03.18 |
파이썬(Python)이요롤레이? (0) | 2021.01.05 |
댓글