๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Web

Eclipse ์›น ํ”„๋กœ์ ํŠธ IntelliJ๋กœ import ํ•˜๋Š” ๋ฐฉ๋ฒ•

by Leica 2020. 2. 7.
๋ฐ˜์‘ํ˜•

Eclipse ์›น ํ”„๋กœ์ ํŠธ IntelliJ๋กœ import ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

์ดํด๋ฆฝ์Šค๋กœ ์ž‘์„ฑ๋œ Dynamic Web Project ์œ ํ˜•์˜ ์›น ํ”„๋กœ์ ํŠธ๋ฅผ IntelliJ๋กœ importํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” html ํŒŒ์ผ ํ•˜๋‚˜์™€ servlet ์ž๋ฐ” ํŒŒ์ผ ํ•˜๋‚˜๋กœ ๊ตฌ์„ฑ๋œ ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ๊ธฐ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‹ค.

 

์‹คํ–‰ ํ™”๋ฉด์€ ์ด๋Ÿฐ ๋ชจ์Šต์ด๋‹ค. (์ถœ์ฒ˜ : https://github.com/eomjinyoung/JavaWebProgramming.git)

 

1. IntelliJ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ž„ํฌํŠธํ•  IntelliJ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. IntelliJ์˜ ํ”„๋กœ์ ํŠธ๋Š” ์ดํด๋ฆฝ์Šค์˜ workspace์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋…์ด๋‹ค. ์ด๋ฏธ ์ž„ํฌํŠธํ•  ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ฑด๋„ˆ๋›ฐ์–ด๋„ ๋œ๋‹ค.

 

IntelliJ ์‹œ์ž‘ ํ™”๋ฉด

Create New Project๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

ํ”„๋กœ์ ํŠธ ์œ ํ˜•์€ Empty Project๋ฅผ ์„ ํƒํ•˜๊ณ  [Next]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

๊ผญ Empty Project๋กœ ๋งŒ๋“ค ํ•„์š”๋Š” ์—†๋‹ค. ๋นˆ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋‹ค์ˆ˜์˜ ๋ชจ๋“ˆ๋“ค์„ ๊ฐ์‹ธ๋Š” ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์„œ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค ๋•Œ ์ด๋ ‡๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

 

ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๊ณ  [Finish]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

Calculator๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋นˆ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

 

2. ์ดํด๋ฆฝ์Šค ํ”„๋กœ์ ํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋“ˆ ์ƒ์„ฑ

๋ฉ”์ธ ๋ฉ”๋‰ด์—์„œ File - New - Module from Existing Sources... ๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

์ž„ํฌํŠธํ•  ์ดํด๋ฆฝ์Šค ํ”„๋กœ์ ํŠธ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๊ณ  [OK]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

Import module from external model๊ณผ Eclipse๋ฅผ ์„ ํƒํ•˜๊ณ  [Next]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

Select Eclipse projects directory๋Š” ์ž๋™์œผ๋กœ ์ž…๋ ฅ๋œ๋‹ค.

์ด ์ฐฝ์—์„œ ํŠน๋ณ„ํžˆ ๋ณ€๊ฒฝํ•ด์•ผํ•  ๊ฑด ์—†๋‹ค.

[Next]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

[Next]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

[Next]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

์ขŒ์ธก์—์„œ ์‚ฌ์šฉํ•  JDK๋ฅผ ์„ ํƒํ•˜๊ณ  [Finish]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

์ดํด๋ฆฝ์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ import ๋˜์—ˆ๋‹ค.

์ด์ œ IntelliJ์— ๋งž๊ฒŒ ์„ค์ •์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

3. JDK ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์ •

๋ฉ”์ธ ๋ฉ”๋‰ด์—์„œ File - Project Structure ๋˜๋Š” Shift + Ctrl + Alt + S(์œˆ๋„์šฐ)๋ฅผ ๋ˆŒ๋Ÿฌ Project Structure ์ฐฝ์„ ๋„์šด๋‹ค.

 

Project SDK๊ฐ€ Invalid๋กœ ํ‘œ์‹œ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ์ž„ํฌํŠธํ• ๋•Œ ์„ค์ • ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ข…์ข… ์ด๋Ÿฐ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

 

ํฐ ๋ฌธ์ œ๋Š” ์•„๋‹ˆ๋‹ˆ ์‚ฌ์šฉํ•  JDK๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  [Apply]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

์ขŒ์ธก ํŒจ๋„์—์„œ Modules๋ฅผ ์„ ํƒํ•œ๋‹ค.

Project SDK๋ฅผ ๋ณ€๊ฒฝํ•ด์ค€ ๋•์— ์ž„ํฌํŠธํ•œ ๋ชจ๋“ˆ์˜ JDK๋Š” ์ œ๋Œ€๋กœ ์ง€์ •๋˜์—ˆ๋‹ค.

(IntelliJ์—์„œ ๋ชจ๋“ˆ๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ์˜ SDK๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค. ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.)

ํ˜น์‹œ ์ œ๋Œ€๋กœ ์ง€์ •๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด Module SDK:์—์„œ ์ง€์ •ํ•œ๋‹ค.

 

์ดํด๋ฆฝ์Šค ๊ด€๋ จ ํ•ญ๋ชฉ๋“ค์€ ์„ ํƒํ•œ๋’ค [ - ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์‚ญ์ œํ•œ๋‹ค.

 

์„œ๋ฒ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด [ + ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  Library...๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

์„œ๋ฒ„๋ฅผ ์„ ํƒํ•˜๊ณ  [Add Selected]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

IntelliJ ํ†ฐ์บฃ ์„œ๋ฒ„ ๋“ฑ๋ก์€ ์šฐ์ธก ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค. [JAVA ์›น ๊ฐœ๋ฐœํ™˜๊ฒฝ] IntelliJ + Tomcat ์—ฐ๋™ ๋ฐฉ๋ฒ•

 

ํ†ฐ์บฃ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

 

4. Facet ์ถ”๊ฐ€

์ขŒ์ธก ํŒจ๋„์—์„œ Facets๋ฅผ ์„ ํƒํ•œ๋‹ค.

[ + ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  Web์„ ์„ ํƒํ•œ๋‹ค.

 

Web facet์„ ์ถ”๊ฐ€ํ•  ๋ชจ๋“ˆ์„ ์„ ํƒํ•˜๋Š” ์ฐฝ์ด๋‹ค. ์ž„ํฌํŠธํ•œ ๋ชจ๋“ˆ์„ ์„ ํƒํ•˜๊ณ  [OK]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

Web Facet์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ ‡๊ฒŒ ๊ฐ’์ด ์ž๋™์œผ๋กœ ์ž…๋ ฅ๋œ๋‹ค.

์ž˜๋ชป ์ง€์ •๋ผ์žˆ๋Š” ํ•ญ๋ชฉ์ด ์žˆ๋‹ค๋ฉด ๋ณ€๊ฒฝํ•œ๋‹ค.

ํ˜„์žฌ ์˜ˆ์‹œ์˜ ๊ฒฝ์šฐ์—๋Š” Web Resource Directory ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜๋‹ค.

'Web' Facet resources are not included in an artifact ๋ฉ”์‹œ์ง€๋Š” ์•„์ง artifact๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์ง€๊ธˆ์€ ๋ฌด์‹œํ•œ๋‹ค. ํ•„์š”ํ•œ Facet ์ถ”๊ฐ€ ํ›„ Artifact๋„ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ด๋‹ค.

 

์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ ํƒํ•˜๊ณ  ์—ฐํ•„ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•œ๋‹ค.

 

์˜ฌ๋ฐ”๋ฅธ Web resource directory๋ฅผ ์ง€์ •ํ•˜๊ณ  [OK]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

์ดํด๋ฆฝ์Šค์—์„œ๋Š” ๋ณดํ†ต ์ด๋ฅผ WebContent ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ์ด๋ ‡๊ฒŒ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋‹ค์‹œ [ + ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  WebServices๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

๋ชจ๋“ˆ์„ ์„ ํƒํ•˜๊ณ  [OK]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

ํ†ฐ์บฃ์ธ ๊ฒฝ์šฐ WS Engine์„ Apache Axis๋กœ ์„ ํƒํ•˜๊ณ  [Apply]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

5. Artifact ์ถ”๊ฐ€

์ขŒ์ธก ํŒจ๋„์—์„œ Artifacts๋ฅผ ์„ ํƒํ•œ๋‹ค.

[ + ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  Web Application: Exploded - From Modules...๋ฅผ ์„ ํƒํ•œ๋‹ค.

 

๋ชจ๋“ˆ์„ ์„ ํƒํ•˜๊ณ  [OK]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

Artifact๋ฅผ ์ถ”๊ฐ€ํ• ๋•Œ From Modules...๋ฅผ ์„ ํƒํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— output ํ•ญ๋ชฉ์ด ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.

์šฐ์ธก์˜ Available Elements๋Š” artifact์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์š”์†Œ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ํ˜„์žฌ Lesson01web ๋ชจ๋“ˆ์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ artifact์— ์ถ”๊ฐ€๋œ ์ƒํƒœ์ด๋‹ค.

 

์ด์ œ Project Structure์—์„œ ํ•ด์•ผํ•  ๋ชจ๋“  ์„ธํŒ…์€ ๋๋‚ฌ๋‹ค.

[OK]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

6. ๋นŒ๋“œ ๋ฐ ์‹คํ–‰

๋ฉ”์ธ ๋ฉ”๋‰ด์—์„œ Build - Build Project ํ˜น์€ Build Module์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ Ctrl + F9๋ฅผ ๋ˆŒ๋Ÿฌ ๋นŒ๋“œํ•œ๋‹ค.

 

๋นŒ๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋œ ๋ชจ์Šต

 

ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๊ฐ€๋ณด์ž.

 

์ด์™€ ๊ฐ™์ด ์•„๋ฌด๋Ÿฐ ๊ฒฐ๊ณผ๋ฌผ์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์•˜๋‹ค.

 

๋ฉ”์ธ ๋ฉ”๋‰ด์—์„œ Build - Build Artifacts...๋ฅผ ํด๋ฆญํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์œ„์™€ ๊ฐ™์ด Build Artifact ์„œ๋ธŒ ๋ฉ”๋‰ด๊ฐ€ ๋œฌ๋‹ค.

์•„๊นŒ ์ถ”๊ฐ€ํ•œ Lesson01web:war exploded artifact๋ฅผ ์„ ํƒํ•˜๊ณ  Build๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

์ด์ œ ๋‹ค์‹œ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋Œ์•„๊ฐ€๋ณด๋ฉด artifact์˜ build ๊ฒฐ๊ณผ๋ฌผ์ด ์ƒ์„ฑ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์ง€์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ์— artifact ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ ์ƒ์„ฑ

 

์„œ๋ฒ„ ์‹คํ–‰ ํ™˜๊ฒฝ์— artifact๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  [OK]๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋งˆ์นœ๋‹ค.

 

IntelliJ ํ†ฐ์บฃ ์„œ๋ฒ„ ์—ฐ๋™์€ ์šฐ์ธก ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค. [JAVA ์›น ๊ฐœ๋ฐœํ™˜๊ฒฝ] IntelliJ + Tomcat ์—ฐ๋™ ๋ฐฉ๋ฒ•

 

์ด์ œ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ž„ํฌํŠธํ•œ ๋ชจ๋“ˆ์„ ์‹คํ–‰ํ•ด๋ณด๋ฉด,

์œ„์™€ ๊ฐ™์ด intelliJ๋กœ importํ•œ ์ดํด๋ฆฝ์Šค ๊ณ„์‚ฐ๊ธฐ ์›น ํ”„๋กœ์ ํŠธ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€