JDK 설치
Amazon Corretto는 Amazon Web Services(AWS)에서 제공하는 오픈 소스 OpenJDK 배포판입니다. OpenJDK 를 사용하여도 무방하나 IntelliJ 에서의 기본 옵션으로도 사용되는 Corretto 를 설치합니다.
ZIP 파일을 받아서 직접 원하는 경로에 설치하고, 환경변수를 설정하여 사용해도 되고, 윈도우의 경우 MSI 파일을 다운로드하여 설치해도 됩니다.
MSI 파일을 사용하여 JDK 를 설치한 후, 윈도우 터미널을 실행하여 JAVA 정보를 확인합니다.
NVM (Node Version Manager) 설치
NVM(Node Version Manager)은 Node.js의 버전을 관리할 수 있는 도구로, 다중 Node.js 버전을 관리할 수 있는 장점이 있어서 사용합니다.
다운로드 경로 : https://github.com/coreybutler/nvm-windows/releases
NVM 설치 후, 윈도우 터미널을 "관리자 권한" 으로 실행하여 node.js 를 설치합니다.
nvm 버전을 확인하고, 설치 가능한 node.js 를 조회하여 설치 후, 시스템에 설치된 node.js 목록을 조회합니다.
IDE 설치
다양한 개발도구들이 있는데, IntelliJ Community 버전을 사용하거나 VSCode, Eclipse 등 사용하고자 하는 IDE를 설치합니다. 여기에서는 IntelliJ 를 사용합니다.
다운로드 경로 : https://www.jetbrains.com/ko-kr/products/
형상관리를 위한 Git bash 설치
IntelliJ 의 git 플러그인을 사용하면 굳이 별도의 Git GUI 도구가 필요하지 않을 수 있습니다.
하지만 git cli 를 사용하여 풍부한 Git 의 기능들을 사용한다면 Windows 환경에서도 Linux 환경과 유사한 디렉터리 구성 및 명령어 모음들을 사용한다면 Git Bash 가 필요할 수 있습니다.
다운로드 경로: https://git-scm.com/download/win
그 외에도 다양한 Git GUI 도구들이 있으니 기호에 따라 사용할 수 있습니다.
다운로드 경로 : https://git-scm.com/downloads/guis
Maven 설치
Spring Boot 어플리케이션 개발을 위한 빌드툴로는 Gradle, Maven 등이 사용됩니다. 여기에서는 Maven 을 사용하는 과정에 대해 설명합니다.
Maven 은 IDE 의 번들로도 설치가 가능하지만, 좀 더 명확한 구성의 이해와 설정 변경을 위해 공식 홈페이지에서 실행파일을 다운로드하여 사용합니다.
다운로드 경로 : https://maven.apache.org/download.cgi
적절한 위치에 압축을 해제하고, 우선 HTTP 블로킹 설정을 해제합니다.
이는 Nexus Repository 또는 사설 저장소에 HTTP 연결을 사용하게 되는 경우, 기본 설정에 의해 HTTP 연결이 Localhost 로 전달되도록 구성된 기본 설정을 변경하는 것을 의미합니다.
만일 이 설정을 변경하지 않는다면 Maven 의존성 다운로드시 다음과 같은 에러 메시지를 만날 수 있게 됩니다.
Could not transfer artifact com.test.app:hello-world:pom:0.0.1-SNAPSHOT from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [nexus-public (http://nexus.myserver.com/repository/maven-public/, default, releases+snapshots)]
이러한 상황을 해결하기 위해서는 maven 기본 설정 파일에서 다음 내용을 주석처리합니다.
대상 파일 : apache-maven-3.9.8\conf\settings.xml
<!--mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror-->
IntelliJ 에서 다운로드 한 Maven 경로를 설정합니다.
모듈 구조의 프로젝트 개발 환경 구성 (IntelliJ)
Application을 개발하다 보면 하나의 아티팩트에서 모든 내용을 개발하기보다 모듈을 분리하여 개발을 진행하는 경우도 발생합니다.
여기에서는 mylib 프로젝트와, myapp 프로젝트를 하나의 IntelliJ 프로젝트에서 모듈로 구성하여 개발하는 과정에 대해 설명합니다.
mylib 프로젝트 생성
IntelliJ > New Project 메뉴에서 mylib 프로젝트를 생성합니다.
설명을 위해 불필요한 의존성을 추가하지 않았습니다.
라이브러리로 사용할 컴포넌트를 추가해 줍니다.
package com.example.mylib;
public class MyUtils {
public static void echo(String text) {
System.out.println(text);
}
}
mylib의 Main 클래스에서 기능 동작을 확인 후 프로젝트를 Close 합니다.
package com.example.mylib;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MylibApplication {
public static void main(String[] args) {
SpringApplication.run(MylibApplication.class, args);
MyUtils.echo("Hello from lib");
}
}
myapp 프로젝트 생성
mylib 프로젝트를 사용하는 myapp 프로젝트를 생성합니다.
이후 pom.xml 에 mylib 의존성을 추가해 줍니다.
아직 모듈 구성이 되지 않아 해당 의존성 패키지를 찾을 수 없어서 IDE가 오류텍스트를 표시해주고 있습니다.
모듈 구조 구성
myapp 프로젝트에서 Project Structure 메뉴로 이동합니다.
Mudules > Import Module 메뉴에서 mylib 프로젝트를 모듈로 임포트 합니다.
Maven Reload 를 하게 되면 pom.xml 에서 의존성 구성 부분의 오류텍스트가 사라진 것이 확인됩니다.
프로젝트 모듈 구성은 다음과 같이 구성되어 있어야 합니다.
MyApp 의 소스코드에 mylib 의 클래스를 사용하는 코드를 작성해 테스트 합니다.
package com.example.myapp;
import com.example.mylib.MyUtils;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyappApplication {
public static void main(String[] args) {
SpringApplication.run(MyappApplication.class, args);
MyUtils.echo("Hello from app");
}
}
Mylib 모듈 소스를 수정하고 MyApp 실행하여 별도의 작업 없이 반영되는지 확인합니다.
package com.example.mylib;
public class MyUtils {
public static void echo(String text) {
System.out.println("Message : " + text);
}
}
'IT > SW Dev' 카테고리의 다른 글
IntelliJ IDEA 설치 및 초기 설정 (0) | 2022.02.17 |
---|---|
windows 환경에서 git 사용시 permission denied (publickey) 문제 (0) | 2021.08.25 |