원활한 실습을 위해서 jdk 17을 사용하겠습니다.
설치참고
Build system은 소프트웨어 프로젝트를 빌드하고 관리하기 위한 도구와 절차를 의미합니다. 프로젝트의 빌드란 소스 코드를 컴파일하고, 테스트를 실행하며, 실행 가능한 애플리케이션 또는 라이브러리를 생성하는 과정을 말합니다. Build system은 이러한 작업을 자동화하고 효율적으로 수행하기 위해 사용됩니다.
Build System의 Gradle과 Maven은 둘 다 자바 기반 프로젝트의 빌드, 종속성 관리 및 빌드 자동화를 위한 도구입니다.
예전에는 Maven을 많이 사용했지만 점차 Gradle을 많이 사용하는 추세입니다.
build.gradle
수정하기
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.2'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'org.example' // 지정한 그룹 이름
version = '1.0'
sourceCompatibility = '17'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
org.springframework.boot
-> 스프링 부트 플러그인
io.spring.dependency-management
-> 스프링 의존성 자동 관리
repositories
-> 의존성을 받을 저장소
dependencies
-> 프로젝트를 개발할 때 필요한 기능의 의존성
spring-boot-starter-web
과 테스트 기능을 제공하는 spring-boot-starter-test
를 사용생성이 완료되셨다면 src/main/java에 미리 생성되어 있는 패키지 안에 새로운 패키지를 생성합니다.
패키지 이름은 <그룹이름>.<프로젝트이름> 형식으로 입력해서 생성합니다.
생성된 패키지에 스프링 부트를 실행할 용도의 클래스를 생성합니다.
클래스 이름은 <프로젝트_이름><Application>
형식으로 생성합니다.
생성한 클래스 코드
package org.example.spring230905;
import org.springframework.boot.SpringApplication;
public class spring230905Application {
public static void main(String[] args){
SpringApplication.run(spring230905Application.class, args);
}
}
그 후에 실행을 합니다 !
Process 'command 'JDK경로/bin/java.exe'' finished with non-zero exit value 1
Execution failed for task ':DemoSpringApplication.main()'.
> Process 'command 'JDK경로/bin/java.exe'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
해결 방법 !
Ctrl + Alt + S
로 Settings 진입 후 빨간색 박스처럼 설정했습니다.
수정 후 실행을 했을 때 아래처럼 오류가 한번 더 발생했습니다.
Web application could not be started as there was no org.springframework.boot.web.servlet.server.ServletWebServerFactory bean defined in the context.
이유로는 아래 코드를 참고하셔서 보시면 좋을 것 같습니다.
결론적으로 아래 2줄이 생략되어서 발생한 오류였습니다.
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
package org.example.spring230905;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class spring230905Application {
public static void main(String[] args){
SpringApplication.run(spring230905Application.class, args);
}
}
실행 완료 화면입니다.