Eclipse의 Workspace와 IntelliJ의 Project

 

Eclipse의 Workspace가 IntelliJ의 Project가 맞는건지에 대한 질문이였습니다.

질문

(질문)

그래서 이 부분에 대해 한번 정리를 하고자 합니다.

먼저 결론부터 말씀드리면 IntelliJ에는 Workspace 라는 개념이 없습니다.
아래는 IntelliJ 공식 문서에 나와 있는 용어 비교 표입니다.

용어표

이 표 때문에 오해가 많았을거라 생각합니다.
근데 이 표 위에 적힌 소개 글을 보시면 이야기가 다르다는 것을 알 수 있습니다.
아래는 IntelliJ 공식 문서의 글입니다.

The first thing you'll notice when launching IntelliJ IDEA is that it has no workspace concept.
This means that you can work with only one project at a time. While in Eclipse you normally have a set of projects that may depend on each other, in IntelliJ IDEA you have a single project that consists of a set of modules.
If you have several unrelated projects, you can open them in separate windows.
If you still want to have several unrelated projects opened in one window, as a workaround you can configure them all in IntelliJ IDEA as modules.

(구글이) 번역 해보면 다음과 같습니다.

IntelliJ IDEA를 시작할 때 가장 먼저 주목할 것은 Workspace 개념이 없다는 것입니다.
즉, 한 번에 하나의 프로젝트만 사용할 수 있습니다.
Eclipse 에서는 일반적으로 서로 의존 할 수 있는 일련의 프로젝트를 가지고 있지만 IntelliJ IDEA에서는 일련의 모듈로 구성된 단일 프로젝트가 있습니다.
서로 관련이 없는 프로젝트가 여러 개 있는 경우 별도의 창에서 열 수 있습니다.
서로 관련이 없는 여러 프로젝트를 하나의 창에서 열어보고 싶다면 IntelliJ IDEA 모듈로 구성해야만 합니다.

즉, 서로 연관관계가 없는 프로젝트들을 굳이 하나의 창에서 열어보고 싶다면 프로젝트들이 모여있는 장소를 Project로 선택하고, 해당 프로젝트들을 Module로 등록하면 된다는 이야기입니다.

이 방식은 IntelliJ에서 권장하지 않습니다.
workspace 개념 자체가 없고, 단일 프로젝트를 하나의 창에서 사용하는것을 권장합니다.

특히나 요즘 같은 Multi Module 환경에선 하나의 창에 하나의 프로젝트를 구성하는 것이 훨씬 도움 됩니다.

Multi Module이란 간단하게 하나의 도메인을 위한 프로젝트 모음이라고 생각하시면 됩니다.

예를 들어 dev-beginner-group이란 서비스를 구현하다고 가정하겠습니다.
이 서비스를 구현하기 위해선 다음과 같은 여러 프로젝트가 필요합니다.

  • admin
  • batch
  • mail
  • web
  • 정적파일 업로더 (static-uploader)
  • Entity와 같은 중요 비지니스를 담은 core

이 프로젝트들은 모두 dev-beginner-group 이란 서비스를 구현하기 위한 프로젝트들이며 서로가 서로에게 의존하는 경우가 발생할 수도 있습니다.
그래서 이런 경우엔 하나의 Root 프로젝트에 각각의 프로젝트를 Module로 구성하여 프로젝트를 생성합니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

devbeginner

Multi Module을 처음 들어보신 분들은 예전에 작성한 Gradle Multi Module 구성하기를 참고해보세요
아주 상세하게 적용법과 소개를 진행합니다.

이는 꼭 IntelliJ에서만 권장하는것이 아니라, 많은 프로젝트들이 Multi Module 구성으로 진행하고 있습니다.

springbatch

(spring batch)

실제로 많은 프로젝트가 다 Multi Module로 구성하고 있습니다.

하지만 여러 프로젝트가 있다고 해서 Workspace와 같은 이야기는 아닙니다.
Workspace는 단순히 여러 프로젝트를 모아놓은 디렉토리일 뿐입니다.
이는 Eclipse에만 있는 개념입니다.
하지만 IntelliJ의 Project는 코드를 구성할 수 있는 엄연한 Project입니다.
즉, Eclipse의 Project와 IntelliJ의 Project는 같습니다.
다만

  • Eclipse에는 Module 개념이 없고
  • IntelliJ에는 Workspace 개념이 없습니다.

그래서 서로 Multi Module 구성 방식이 다를수는 있습니다.

Eclipse에서는 Sub Module을 어떻게 만드나요?
라고 하실 수 있습니다.
이건 donzbox님의 포스팅을 참고하시면 됩니다.

모두가 오해하고 있듯이 Eclipse의 Project와 IntelliJ의 Module이 같다는 이야기는 아닙니다.

IntelliJ에는 Workspace개념이 없으니 서로 관련 없는 프로젝트를 하나의 창에서 다 열려고 하지 않는걸 추천드립니다.
서로 관련 없는 프로젝트라면 해당 프로젝트마다 하나의 창을 할당해서 여시는걸 추천드립니다.

다시 한번 말씀드리지만, IntelliJ에는 Workspace라는 개념이 없다는 말로 글을 마무리합니다.

 

참고

[출처] https://jojoldu.tistory.com/334

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
166 [java][JAVA web][JSP] JSTL의 기본 개념과 사용방법 정리 졸리운_곰 2021.04.22 97
165 [java][jsp][EL/JSTL 정리] EL/JSTL 정리 file 졸리운_곰 2021.04.22 42
164 [Redis] [Spring] Spring session을 Redis에 저장했을 때 어떻게 저장될까? file 졸리운_곰 2021.04.11 111
163 [Java Web programming] Java 시스템 운영 중 알아두면 쓸모 있는 지식들 file 졸리운_곰 2021.03.07 69
162 React와 JSP(java server page) file 졸리운_곰 2021.01.09 232
161 [MongoDB] 몽고디비와 JSP 연동 방법! 조회 후 레코드 값 저장 방법! 졸리운_곰 2021.01.05 57
160 [SpringBoot] Hello world! ( IntelliJ + Gradle + SpringBoot ) file 졸리운_곰 2020.09.10 71
159 [visual studio code] 스프링 부트 + 리액트 개발 셋업 file 졸리운_곰 2020.07.01 1464
» Eclipse의 Workspace와 IntelliJ의 Project file 졸리운_곰 2020.05.03 88
157 [IntelliJ] 전자정부 프로젝트 IntelliJ에서 세팅 file 졸리운_곰 2020.05.03 89
156 Intellij JSP - MySQL 연동 file 졸리운_곰 2020.03.26 186
155 Spring Boot with React 설정 file 졸리운_곰 2020.03.05 1022
154 Spring SQL Server 연동 (실습) file 졸리운_곰 2020.01.24 758
153 전자정부프레임워크 MSSQL 연동하기 졸리운_곰 2020.01.24 562
152 전자정부프레임워크 mssql 연동 졸리운_곰 2020.01.24 113
151 Spring Boot::DB 에 한글이 깨져서 저장될 때 해결 방법. 졸리운_곰 2020.01.24 78
150 Configuring Spring Boot for Microsoft SQL Server file 졸리운_곰 2020.01.24 76
149 SQL Server 에게 String 이란? (NVARCHAR 인가 VARCHAR 인가) 졸리운_곰 2020.01.24 72
148 Spring Boot + Microsoft SQL Server + JPA/Hibernate CRUD Restful API Tutorial file 졸리운_곰 2020.01.24 1506
147 MS SQL Server에서 JPA NativeQuery 사용시 유니코드(Unicode) 문제 file 졸리운_곰 2020.01.24 1923
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED