사용환경

IDE: 이클립스(4.13.0)
JAVA: 1.8.0_151

프로젝트 생성

  1. 이클립스에서 왼쪽 상단 new - maven project를 클릭
  2. 기본 워크스페이스 주소를 사용한다면 next
    그게 아니라면 browse 버튼을 통해 주소 지정 후 next
  3. 많은 선택지 중 webapp을 선택 후 next


    4.Group IdArtifact Id를 작성 후 Finish를 클릭하면 프로젝트가 생성됩니다.
    Group Id: 프로젝트를 식별할 수 있는 고유한 이름, 일반적으로 회사 도메인을 거꾸로 작성
    Artifact Id: 프로젝트의 이름을 작성

환경 구축

src-main-java 폴더 생성

왼쪽 워크스페이스에 Navigator탭을 눌러 생성한 프로젝트 폴더를 열고 src-main 경로에 자바소스 코드 저장을 위한 java 폴더 생성

Navigator탭이 보이지 않는다면 이클립스 상단 Window-Show View에서 Navigator를 찾고 클릭

servlet 버전 수정

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버전인지 확인

pom.xml문서 작성

Project Explorer 탭으로 돌아가서 pom.xml파일에 내용 작성
pom.xml: 프로젝트 내 빌드옵션을 설정하는 파일

properties

properties: pom.xml내에서 자주 사용되는 변수를 설정
Spring의 기능을 여럿 작성해야 하기에 버전정보를 미리 properties에 선언

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring.version>4.3.5.RELEASE</spring.version>
  </properties>

dependencies

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>

build

플러그인 설정을 위한 태그

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>

pom.xml 전체코드

<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를 클릭해 프로젝트 업데이트

profile
이제 막 개발 배우는 코린이

0개의 댓글

Powered by GraphCDN, the GraphQL CDN