IDE: 이클립스(4.13.0)
JAVA: 1.8.0_151
- 이클립스에서 왼쪽 상단
new - maven project
를 클릭- 기본 워크스페이스 주소를 사용한다면
next
그게 아니라면browse
버튼을 통해 주소 지정 후next
- 많은 선택지 중
webapp
을 선택 후next
4.Group Id
와Artifact Id
를 작성 후Finish
를 클릭하면 프로젝트가 생성됩니다.
Group Id
: 프로젝트를 식별할 수 있는 고유한 이름, 일반적으로 회사 도메인을 거꾸로 작성
Artifact Id
: 프로젝트의 이름을 작성
왼쪽 워크스페이스에
Navigator
탭을 눌러 생성한 프로젝트 폴더를 열고src-main
경로에 자바소스 코드 저장을 위한java
폴더 생성
Navigator
탭이 보이지 않는다면 이클립스 상단Window-Show View
에서Navigator
를 찾고 클릭
Navigator
에서.settings - org.eclipse.wst.common.project.facet.core.xml
파일을 수정servlet 3.1버전을 사용하기 위해 jst.web의 버전을 수정
<?xml version="1.0" encoding="UTF-8"?> <faceted-project> <fixed facet="wst.jsdt.web"/> <installed facet="jst.web" version="3.1"/> <installed facet="wst.jsdt.web" version="1.0"/> <installed facet="java" version="1.8"/> </faceted-project>
저장 후 이클립스를 끄고 재시작
이클립스가 다시 켜지고 프로젝트 우클릭 맨아래
Properties
클릭
Maven - Project Facets
에서Dynamic Web Services
가 3.1버전인지 확인
Project Explorer
탭으로 돌아가서 pom.xml
파일에 내용 작성
pom.xml
: 프로젝트 내 빌드옵션을 설정하는 파일
properties
:pom.xml
내에서 자주 사용되는 변수를 설정
Spring
의 기능을 여럿 작성해야 하기에 버전정보를 미리properties
에 선언<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.version>4.3.5.RELEASE</spring.version> </properties>
dependency
: 의존성을 정의, 라이브러리를 불러오는 공간
junit
프로젝트 생성시 기본적으로 작성되어 있는 내용으로 함수와 메서드에 관한 테스트를 할때 사용
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency>
springframework
spring-context
: Spring 기반의 애플리케이션 개발에 반 필수적으로 들어가는 패키지로Inversion of Control(IoC)
또는Dependency Injection(DI)
을 활성화 하고 관리
spring-webmvc
: Spring MVC개발을 위한 패키지로DispatcherServlet
으로 모든 웹요청을 받아 맞는 컨트롤러로 뿌려주는 등 다양한 기능 보유
version
을 보면${spring.version}
라고 el표기법으로 작성되어 있는데 이는 아까properties
에서 작성한<spring.version>4.3.5.RELEASE</spring.version>
이 코드를 가지고 오는 코드입니다.<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
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>
플러그인 설정을 위한 태그
jdk 1.8버전을 사용하기 위해 작성
<build> <finalName>mvcexam</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>kr.or.connect</groupId>
<artifactId>mvcexam</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mvcexam Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.3.5.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 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>
</dependencies>
<build>
<finalName>mvcexam</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
변경사항 반영을 위해 프로젝트 우클릭 후
Maven-Update Project
를 클릭해 프로젝트 업데이트