> For the complete documentation index, see [llms.txt](https://tech.x2bee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tech.x2bee.com/dev-guide/dev-start/editor/undefined.md).

# 로컬 개발 환경 설정하기

본 문서에서는 개발자 개발 환경 설정 방법에 대하여 기술합니다.

아래에서 로컬 개발환경 기본구조를 설명하고, 로컬개발환경 세팅 방법을 설명합니다.

***

## 로컬 개발환경

| **구분**       | **내용**                                                                      | **비고**                 |
| ------------ | --------------------------------------------------------------------------- | ---------------------- |
| **IDE Tool** | <p>IntelliJ IDEA 2024.1.2<br>Visual Studio Code 1.89<br>Eclipse 2024‑03</p> | 최신 버전 이용               |
| **JDK 버전**   | OpenJDK 21 (LTS)                                                            |                        |
| **Node 버전**  | Node.js 24.11 (LTS)                                                         |                        |
| **형상관리**     | GitLab                                                                      |                        |
| **WAS**      | Apache Tomcat 11.0.18                                                       | Java Servlet Container |
| **DBMS**     | PostgreSQL 15.3                                                             |                        |

### 주요 프레임워크(Framework)

* Spring Framework
  * spring-boot 4.0.3
  * spring-core 7.0.5
  * spring-data-jpa 4.0.3
  * tomcat-embed-core 11.0.18 (exclusion)

* Spring Cloud Framework

  * spring-cloud 2025.1.0

* Rust / Axum
  * axum 0.7
  * opensearch 2.3.0
  * sqlx 0.8
  * tokio-postgres 0.7

* Next.js Framework
  * next 16.2.3
  * next-intl 4.4.0
  * react 19.2.3
  * react-query 5.40.0
  * zustand 5.0.3

### Spring Framework 주요 라이브러리 (Library)

| **구분**                | **내용**                                                                                                                       | **비고** |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------ |
| **Logging**           | logback 1.5.6                                                                                                                |        |
| **Database**          | <p>mybatis 3.5.19<br>HikariCP 5.0.1<br>PostgreSQL 42.7.3</p>                                                                 |        |
| **Query 및 ORM**       | querydsl 7.0                                                                                                                 |        |
| **Cache**             | ehcache 3.11.1                                                                                                               |        |
| **인증 및 보안**           | jjwt 0.12.6                                                                                                                  |        |
| **Excel 처리**          | poi 5.2.5                                                                                                                    |        |
| **JSON 처리 (Jackson)** | <p>jackson-core 2.17.1<br>jackson-databind 2.17.1</p>                                                                        |        |
| **Apache Utils**      | <p>commons-lang3 (3.14.0)<br>commons-text 1.12.0<br>commons-io 2.16.1<br>commons-codec 1.17.0<br>commons-beanutils 1.9.4</p> |        |
| **편의성 라이브러리**         | Lombok 1.18.42                                                                                                               |        |
| **API 문서화**           | Springdoc 2.8.13 - Swagger3.0                                                                                                |        |

### Rust / Axum 주요 라이브러리 (Library)

| **구분**            | **내용**                                 | **비고** |
| ----------------- | -------------------------------------- | ------ |
| **Logging**       | log 0.4 / env\_logger 0.10             |        |
| **Database**      | sqlx 0.8 / tokio-postgres 0.7          |        |
| **Query 및 ORM**   | sqlx 0.8 (query)                       |        |
| **Cache**         | redis 0.32                             |        |
| **인증 및 보안**       | openssl 0.10 (TLS)                     |        |
| **통신 처리**         | reqwest 0.11                           |        |
| **검색엔진Database**  | opensearch 2.3.0                       |        |
| **인메모리 Database** | redis 0.32                             |        |
| **API 문서화**       | utoipa 4.2.0 / utoipa-swagger-ui 7.1.0 |        |

### Next.js Framework 주요 라이브러리 (Library)

| **구분**           | **내용**             | **비고** |
| ---------------- | ------------------ | ------ |
| **상태관리**         | zustand 4.5.2      |        |
| **데이터 조회 캐싱**    | react-query 5.40.0 |        |
| **다국어 처리**       | next-intl 4.4.0    |        |
| **반응형 슬라이드쇼 처리** | swiper 11.1.14     |        |
| **CSS**          | tailwindcss 4.1.16 |        |

## 로컬 개발환경 세팅

프로젝트 개발을 시작하기 위해 필요한 개발 도구 정보를 참고하여 설치해주세요.

| **구분** | **도구**                     | **다운로드**                                                                                     |
| ------ | -------------------------- | -------------------------------------------------------------------------------------------- |
| **개발** | IntelliJ IDEA              | [다운로드 바로가기 >](https://www.jetbrains.com/ko-kr/idea/download/)                                |
|        | Visual Studio Code         | [다운로드 바로가기 >](https://code.visualstudio.com/)                                                |
|        | Eclipse                    | [다운로드 바로가기 >](https://www.eclipse.org/downloads/)                                            |
| **필수** | git (Git Client 사용 가능)     | [다운로드 바로가기>](https://git-scm.com/)                                                           |
|        | SourceTree                 | [다운로드 바로가기>](https://www.sourcetreeapp.com/)                                                 |
|        | DBeaver                    | [다운로드 바로가기>](https://dbeaver.io/download/)                                                   |
|        | OpenJDK 21 (타사 OpenJDK 가능) | [다운로드 바로가기>](https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html) |
|        | Node.js 24                 | [다운로드 바로가기>](https://nodejs.org/en/download)                                                 |

* 프로젝트 목록

| 프로젝트명             | 설명                                |
| ----------------- | --------------------------------- |
| x2bee-common      | Spring 공통 기능 제공 프로젝트              |
| x2bee-gw          | Spring Cloud Gateway 프로젝트         |
| x2bee-bo          | 관리자 사이트 Next.js Front End 프로젝트    |
| x2bee-api-bo      | 관리자 API Spring 프로젝트               |
| x2bee-api-common  | 공통 API 및 외부 인터페이스 API Spring 프로젝트 |
| x2bee-api-display | 전시 API Spring 프로젝트                |
| x2bee-api-event   | 이벤트 API Spring 프로젝트               |
| x2bee-api-goods   | 상품 API Spring 프로젝트                |
| x2bee-api-order   | 주문 API Spring 프로젝트                |
| x2bee-api-member  | 회원 API Spring 프로젝트                |
| x2bee-batch-gddp  | 전시, 상품 Spring Batch 프로젝트          |
| x2bee-batch-mbod  | 회원, 주문 Spring Batch 프로젝트          |
| x2bee-api-search  | 검색엔진 프로젝트                         |
| x2bee-api-intf    | Interface API Spring 프로젝트         |
| x2bee-fo          | 사용자 사이트 Next.js Front End 프로젝트    |

***

### IntelliJ IDEA 설정 및 APP 실행하기

IntelliJ를 설치하고 실행합니다.

Git에서 소스코드를 복제하기 위해 “Git-Clone”을 실행합니다.

{% stepper %}
{% step %}

### 설치 및 실행

IntelliJ를 설치하고 실행합니다.

이미 설치되어 있다면 최신 버전으로 업데이트하세요.

<figure><img src="https://200425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEZx3rsZsIv89GPS3d2J%2Fuploads%2FXK7aEsmlBa9OSkFBae81%2Fimage-20230808-024839.png?alt=media&amp;token=c57a534f-56f8-45fa-a9ef-4a993975e37b" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Git에서 소스 복제

1. IntelliJ에서 "Git-Clone" 기능을 사용하여 저장소를 복제합니다.
2. 복제한 전체 프로젝트 또는 개별 프로젝트를 선택합니다.
   {% endstep %}

{% step %}

### 의존성 리로드

프로젝트 선택 후 "Reload project"를 실행하여 Maven(또는 해당 빌드 툴)에서 의존성을 재설정 및 다운로드합니다.

<figure><img src="https://200425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVEZx3rsZsIv89GPS3d2J%2Fuploads%2F4vaUAc6OKUNpy3nyKGDI%2Fimage-20230808-024941.png?alt=media&amp;token=22b5e58e-9001-469e-a3ed-b61bc5bb1911" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### IntelliJ IDEA 설정 및 FO APP 실행하기 <a href="#intellij-idea-fo-app" id="intellij-idea-fo-app"></a>

&#x20;

![image-20240408-073437.png](https://tech.x2bee.com/download/attachments/124059658/image-20240408-073437.png?version=1\&modificationDate=1712561679254\&cacheVersion=1\&api=v2)

&#x20;

IntelliJ를 설치하고 실행합니다.

Git에서 소스코드를 복제하기 위해 “Git-Clone”을 실행합니다.

![image-20240408-072154.png](https://tech.x2bee.com/download/attachments/124059658/image-20240408-072154.png?version=1\&modificationDate=1712560917243\&cacheVersion=1\&api=v2)

package.json을 선택하고 "Run ‘npm install’"를 실행하여 npm에서 의존성을 재설정 및 다운로드합니다.

![image-20240408-072858.png](https://tech.x2bee.com/download/attachments/124059658/image-20240408-072858.png?version=1\&modificationDate=1712561340422\&cacheVersion=1\&api=v2)

npm 실행 목록에서 "start:local"을 선택하여 해당 프로젝트를 실행합니다.

***

### Visual Studio Code 설정 및 APP 실행하기 <a href="#visual-studio-code-app" id="visual-studio-code-app"></a>

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-025021.png?version=1\&modificationDate=1691463025015\&cacheVersion=1\&api=v2)

Visual Studio Code를 설치하고 실행합니다.

소스 코드를 복제하기 위해 "Source Control" 탭에서 "Clone Repository"를 실행합니다.

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-024941.png?version=1\&modificationDate=1691462985067\&cacheVersion=1\&api=v2)

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-024947.png?version=1\&modificationDate=1691462990954\&cacheVersion=1\&api=v2)

"Extensions" 탭에서 "java"를 검색하여 "Extension Pack for Java" 및 "Spring Boot Extension Pack"을 설치합니다.

&#x20;

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-025130.png?version=1\&modificationDate=1691463094383\&cacheVersion=1\&api=v2)

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-024947.png?version=1\&modificationDate=1691462990954\&cacheVersion=1\&api=v2)

해당 프로젝트의 실행 파일을 선택하고 “Run” 또는 “Debug”를 선택하여 해당 프로젝트를 실행합니다.

***

### Eclipse 설정 및 APP 실행하기 <a href="#eclipse-app" id="eclipse-app"></a>

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-025252.png?version=1\&modificationDate=1691463175687\&cacheVersion=1\&api=v2)

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-025259.png?version=1\&modificationDate=1691463182861\&cacheVersion=1\&api=v2)

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-025306.png?version=1\&modificationDate=1691463190134\&cacheVersion=1\&api=v2)

&#x20;

Eclipse를 설치하고 실행합니다.

"Open Perspective" 창에서 "Clone a Git repository"를 실행하여 Git Repository에서 소스 코드를 로컬 디렉토리에 복제합니다.

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-025321.png?version=1\&modificationDate=1691463205079\&cacheVersion=1\&api=v2)

[Lombok 다운로드](https://projectlombok.org/download)에서 "lombok.jar" 파일을 Eclipse 설치 경로에 다운로드합니다. 그 후, 설치된 폴더의 "eclipse.ini" 파일을 열어 "-javaagent:C:\설치경로\jee-2023-06\eclipse\lombok.jar"를 추가합니다.

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-025346.png?version=1\&modificationDate=1691463230659\&cacheVersion=1\&api=v2)

![](https://tech.x2bee.com/download/attachments/124059658/image-20230808-025358.png?version=1\&modificationDate=1691463241749\&cacheVersion=1\&api=v2)

실행할 프로젝트의 기동 파일을 선택하고 "Run" 또는 "Debug"를 선택하여 해당 프로젝트를 실행합니다.

&#x20;

<br>
