티스토리 뷰

Maven을 이용하여 프로젝트를 만들면 종속성을 관리하기가 아주 쉬워지므로 여기에 정리한다.

Maven 웹 프로젝트 생성

이클립스에서 File -> New -> Other에서 Maven -> Maven Project를 선택한다.

[그림 1] Maven Project


Next를 하다보면 아래 그림 2처럼 Archetype을 선택하는 창이 나온다. Archetype은 일종의 프로젝트 템플릿이라고 할 수 있다. 어떤것을 선택하느냐에 따라서 자동으로 여러가지 파일들을 생성하거나 라이브러리를 셋팅해준다.

maven-archetype-webapp을 선택하고 Next를 누르자.

[그림 2] Archetype 선택


아래 그림 3처럼 여러가지 값을 적는 창이 나타난다.

Group Id는 프로젝트를 진행하는 회사나 팀의 도메인 이름을 거꾸로 적는다. 

Artifact Id는 해당 프로젝트의 이름을 적는다.

package는 위 두가지가 조합된 이름으로 나온다.


다 적고 Finish 버튼을 누르자.

[그림 3] Id 및 version

JDK 설정

그 후 프로젝트 생성된 구조를 Navigator 뷰에서 보면 아래 그림 4와 같다. Navigator는 이클립스 탭에서 Window -> Show View -> Navigator을 선택하여 열 수 있다.

pom.xml이 프로젝트를 설정할 때 가장 많이 사용될 부분인데, 종속성이나 jdk 버전등을 추가 & 변경할 때 사용한다.

[그림 4] Maven 웹 프로젝트 구조


그런데 Maven 웹 프로젝트를 생성하면, 기본적으로 JDK 버전이 1.5이다. 이것을 바꾸려면 pom.xml 파일을 수정해야 한다. pom.xml 파일을 열고 아래의 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>com.examples</groupId>
	<artifactId>maven_example</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>maven_example Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<finalName>maven_example</finalName>
	</build>
</project>

여기서 dependencies에 있는 내용이 라이브러리이다. jdk 버전 설정을 위해선 그 아래 build 내용을 아래 코드처럼 바꿔줘야한다.

<build>
	<finalName>maven_example</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>

저장하고, 프로젝트 우클릭 -> Properties -> Java Compiler 항목을 보면 아직 Java 버전이 1.5이다. 

[그림 5] Java 버전 변경 전


이 때, Properties에서 Maven -> Java EE Intergration 항목을 누르고, Enable Project Specific Settings 체크박스를 클릭하고 Apply and Close 버튼을 누른다. 다시 Java 버전을 확인하면 1.8이다. 

Servlet, JSTL 설정

프로젝트에 자동으로 생성된 index.jsp 파일을 보면 HttpServlet을 찾을 수 없다는 오류 메시지가 보인다. Dynamic Web Application과 다르게 WAS Runtime 설정에서 Tomcat을 지정하지 않았기 때문이다.

해결하기 위해 pom.xml을 열고 dependencies 엘리먼트 아래에 아래와 같은 종속성을 추가한다.

<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<version>3.1.0</version>
	<scope>provided</scope>
</dependency>

이제 저장하고 run on server로 실행하면 잘 된다. 그러나 JSTL을 사용하려면 Project facets 항목의 다이나믹 웹 모듈 버전을 바꿔야한다. 왜냐하면 기본적으로 설정된 버전이 2.3이기 때문이다. 2.4 버전 아래는 EL 표기법으로 사용할 수 없다.


먼저 web.xml 파일을 열고 내용을 아래의 코드로 바꾼다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
	<display-name>Archetype Created Web Application</display-name>
</web-app>

그리고 Navigator 뷰에서 .setting 폴더를 찾아서 org.eclipse.wst.common.project.facet.core.xml 파일을 연다. 여기서 jst.web의 버전을 3.1로 고치고 저장한다.


JSTL로 jsp를 작성하고 실행해보면 잘 된다.

'프로그래밍 > Web' 카테고리의 다른 글

java properties 파일 사용하기  (0) 2018.07.18
Javascript 동적 UI 만들기  (0) 2018.07.17
Scope  (0) 2018.07.11
Eclipse 웹 프로젝트 설정  (0) 2018.07.11
Redirect & Forward  (0) 2018.07.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함