본문 바로가기
웹 프로그래밍/스프링

IntelliJ Maven Project를 이용한 Spring MVC 프로젝트 생성 방법01

by Backchus 2019. 2. 19.


먼저 인텔리제이를 실행시켜 프로젝트 생성을 클릭하고 maven 을 선택, 그리고 Create from archetype을 체크 표시하고 maven-archetype-webapp을 선택하여 Next를 클릭한다.


GroupId와 ArtifactId를 설정 해주고 Next


Project location을 설정해주고 Fish버튼클릭


클릭하고 프로젝트를 생성하면 우측하단에 maven 자동 임포트를 클릭하면 이렇게 프로젝트가 생성이 된다.


생성된 프로젝트의 main폴더 아래에 java폴더와 resources폴더를 만들어 주고 만약에 저렇게 저런모양이 아닌 일반 폴더 모양이라면 

java폴더를 마우스 오른쪽클릭 -> Mark directory as -> Sources Root를 클릭해주시고

resources폴더를 마우스 오른쪽클릭 -> Mark directory as -> Resources Root를 클릭해주시면 된다.



이제 Spring MVC 프로젝트를 작동시키기 위하여 pom.xml에 Maven을 설정하여 보자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?xml version="1.0" encoding="UTF-8"?>
 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>kr.or.connect</groupId>
  <artifactId>mvcexam</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>
 
  <name>mvcexam Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring.version>4.3.5.RELEASE</spring.version>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>
 
  <dependencies>
    <!-- Spring -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
 
    <!-- Servlet JSP JSTL -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
 
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
 
  <build>
    <finalName>mvcexam</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
 
cs

pom.xml을 열어서 build아랫부분은 일단 무시하고 dependencies에 JSTL, JSP, Servlet을 사용하기위해 라이브러리를 추가하고, Spring을 사용하기 위해서 spring-context, Spring MVC를 사용하기위해 webmvc를 추가하였다. 또한 스프링버전을 통일시키기 위해 properties에 스프링버전을 명시해놓고 dependency에 변수로 쓸수 있게 하였다.


참고자료: https://www.edwith.org/boostcourse-web/lecture/16764/ (부스트코스)