Eclipse에 STS4(Spring Tool Suite 4) 설치를 진행하겠다.
1. Eclipse 내 STS 4 설치
1. Eclipse 실행 - Help - Eclipse Marketplace
2. 'spring' 검색 - Spring Tools 4 설치
3. Confirm
4. 동의 후 Finish
5. Trust
Trust 창 내 빨간색 네모 박스 안 체크박스를 체크하고 Trust Selected 버튼 클릭 !
바로 안나타나고 시간 좀 지나서 나타났다.
2. Eclipse 재실행
1. Restart Now
Eclipse 재실행 안내 문구가 나타났다. Restart 해주자.
3. Spring Boot 프로젝트 생성
1. File - New - Project
2. Maven - Maven Project - Next
▶ Maven과 Gradle 차이
Maven과 Gradle은 Java 기반 프로젝트의 빌드 자동화 도구로 사용된다.
이들은 개발자들이 프로젝트의 빌드, 의존성 관리, 배포 등을 효과적으로 관리할 수 있도록 도와준다.
⭐Maven
- XML 기반 : Maven은 XML 파일인 pom.xml을 사용하여 프로젝트의 빌드 설정과 의존성을 정의한다.
- 의존성 관리 : 중앙 저장소(Central Repository)와 로컬 저장소(Local Repository)를 통해 의존성을 관리한다.
- 표준화된 구조 : 프로젝트의 디렉터리 구조와 빌드 라이프사이클을 표준화하여 일관성을 제공한다.
- 플러그인 시스템 : 다양한 플러그인을 통해 기능을 확장할 수 있다.
⭐Gradle
- Groovy/Kotlin DSL 기반 : Gradle은 Groovy 또는 Kotlin DSL을 사용하여 빌드 스크립트를 작성한다. 이는 보다 유연하고 간결한 빌드 스크립트를 작성할 수 있게 한다.
- 의존성 관리 : Maven과 유사하게 중앙 저장소와 로컬 저장소를 통해 의존성을 관리한다.
- 유연한 구성 : Gradle은 설정과정에서 높은 유연성을 제공하며, 사용자 정의가 용이하다.
- 성능 : Gradle은 인크리멘탈 빌드와 병렬 빌드를 지원하여 빌드 성능을 최적화한다.
✅요약
- Maven : XML 기반, 표준화된 구조, 성숙도와 광범위한 사용으로 인해 안정적이고 신뢰 가능한 도구
- Gradle : Groovy/Kotlin DSL 기반, 높은 유연성과 성능, 현대적 스크립팅
결국 프로젝트의 요구사항과 팀의 선호도에 따라 달라질 수 있는데
보다 높은 안정성과 표준화된 구조가 필요하다면 Maven, 유연성과 성능이 중요하다면 Gradle을 선택하면 된다.
나는 XML 기반 개발이 익숙하기도 하고, 기업에서 안정성을 이유로 Maven을 광범위하게 사용하기 때문에
Maven 프로젝트로 생성하였다.
▶ Jar과 War 차이
이 두 가지 옵션은 애플리케이션의 배포 형태를 결정한다.
⭐JAR (Java ARchive)
- 주로 독립 실행형 애플리케이션 배포 시 사용됨
- 애플리케이션의 모든 클래스 파일과 종속 라이브러리들이 포함되어 있음
- 특징
- 독립적으로 실행 가능 : java -jar 명령어로 애플리케이션을 실행할 수 있따.
- Spring Boot의 내장 톰캣 서버를 사용하여 애클리케이션을 실행한다.
- 간단한 배포 : JAR 파일 하나만 배포하면 되므로 배포 과정이 간편하다.
⭐WAR (Web Application ARchive)
- 웹 애플리케이션을 배포할 때 사용됨
- 표준 웹 애플리케이션 구조를 따르며, 서블릿 컨테이너(Tomcat, Jetty, JBoss)에서 실행됨
- 특징
- 웹 서버에 배포 : WAR 파일은 서블릿 컨테이너 안에서 실행되므로, 외부 웹 서버가 중요하다.
- 기존 인프라 활용 : 이미 설정된 웹 서버나 애플리케이션 서버에 배포할 수 있어, 기존 인프라를 활용할 수 있다.
- 복잡한 배포 : WAR 파일을 배포하는 과정이 JAR 파일보다 다소 복잡할 수 있다.
✅요약
- JAR : 독립 실행형 애플리케이션, 내장 톰캣 서버 사용, 간편한 배포
- WAR : 웹 서버나 애플리케이션 서버에 배포, 서블릿 컨테이너 환경, 기존 인프라 활용
특별한 이유가 없다면
학습 목적으로의 Spring Boot 프로젝트를 생성할 때는 JAR 패키징을 선택하는 것이 일반적이다.
그러나 전통적인 웹 애플리케이션 배포 방식을 사용하거나 특정 서버에 배포해야 한다면 WAR 패키징을 선택하는 것이 좋다.
스타트업이나 성능을 추구하는 회사들은 JAR 패키징을 선택하고 있을 확률이 높다.
그러나 아직 대한민국의 기업들은 대부분 WAR 패키징을 사용하고 있다.
트렌드의 JAR 패키징이냐, 전통적인 WAR 패키징이냐 ...
WAR를 선택하여 우선 공부하는게 나은 선택인 것 같다.
▶ Java 17 설치
Spring Boot 프로젝트를 생성하고 싶은데 최소 Java 8 이상만이 지원한다고 한다.
스프링부트 프로젝트를 STS4에서 실행하려면 최신 LTS(Long-Term Support) 버전인 Java 11, Java 17 이상 버전을 사용하는 것이 권장된다.
특히 Java 11은 안정적이고 많은 기업에서 사용하고 있는 버전이라고 한다.
일단 새로운 기능과 향상된 성능을 제공하는 Java 17을 설치해보도록 하겠다.
1. Oracle 홈페이지 접속 후 JDK 17 - Windows - x64 Installer 다운로드 링크 클릭
https://www.oracle.com/kr/java/technologies/downloads/#java17
2. 다운로드 파일 실행
3. Next
[JDK 17 저장 경로]
C:\Program Files\Java\jdk-17
4. 대기
5. Close (설치 성공)
6. 환경변수 설정) window + R - sysdm.cpl - 시스템 속성 - 고급 - 환경 변수
7. JAVA_HOME 값 설정 - JDK 설치 경로 입력 - 확인
이미 JDK 1.7, 1.8을 설치한 이력이 있어 JAVA_HOME 변수와 값을 세팅해놓은 상태이다.
만약 JAVA_HOME이 설정되어 있지 않고, 아예 JAVA_HOME 변수가 없다면 새로 만들면 된다.
[JAVA_HOME 설정 값]
C:\Program Files\Java\jdk-17
[Path에 추가된 값]
C:\Program Files\Common Files\Oracle\Java\javapath
8. cmd - 자바 버전 확인하기
[자바 버전 확인]
java -version
[자바 컴파일러 버전 확인]
javac -version
3. Next
4. 'maven-archetype-webapp' 검색 - 'org.apache.maven.archetypes' 선택 - Next
5. Group Id & Artifact Id 입력 - Finish
- Group Id : 프로젝트를 식별하는 아이디
- Artifact Id : 프로젝트 이름 .jar 또는 .war로 패키징 시 아티팩트 이름으로 생성 됨
▶ JDK & Java 컴파일러 버전 변경하는 법
https://soheepark.tistory.com/178
▶ 'Send Classpath Notifications' has encountered a problem 경고창 제거하는 법
https://soheepark.tistory.com/186
'[Language] > Java | Spring | JSP' 카테고리의 다른 글
[Eclipse/Java] Syntax error on token "Invalid Character", delete this token (0) | 2024.07.29 |
---|---|
[IntelliJ/Java] IntelliJ JVM 버전 변경 (0) | 2024.07.09 |
[Eclipse] JRE 1.8 라이브러리 변경 & Java 컴파일러 버전 변경 (0) | 2024.07.09 |
java.net.ConnectException: Connection timed out: connect (0) | 2024.06.27 |
[Java Swing] 0. Swing으로 버튼 만들기 (JButton Component) (0) | 2024.06.18 |