> 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="/files/XIJ94BK0IMFLhUoAZev3" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Git에서 소스 복제

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

{% step %}

### 의존성 리로드

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

<figure><img src="/files/yY22d9dQdjHtTAtiZ0mn" 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>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tech.x2bee.com/dev-guide/dev-start/editor/undefined.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
