[Java / Spring] 10. 메이븐을 이용한 기본 웹 프로젝트 생성하기

2022. 4. 17. 17:14·🍃 Spring, Spring Boot/스프링 프레임워크 기초

이클립스에서 메이븐 프로젝트를 생성해보자.

 

먼저 이클립스 우측 상단의 Perspective를 Java에서 JavaEE로 변경해준다.

 

Perspective

 

만약 Java EE가 보이지 않는다면 바로 옆에 있는 Open Perspective 버튼을 통해 변경할 수 있다.

 

Open Perspective

 

 

이제 우리는 메이븐 프로젝트를 만들 수 있다.

 

 

 

Packaging만 jar -> war로 변경하여 메이븐 프로젝트를 생성한다.

 

 

 

메이븐 프로젝트를 만들고 나면 pom.xml 파일에 오류가 발생한 것을 확인할 수 있다.

 

Project Explorer

 

 

현재 web.xml이 없기 때문에 발생하는 오류인데, 이를 해결하기 위해 이전에 설치했던 tomcat 폴더에서 WEB-INF 폴더를 복사하여 우리가 생성한 메이븐 프로젝트의 webapp 폴더 안에 붙여넣기 한다.

 

 

 

pom.xml에서 오류가 사라진 것을 확인할 수 있다.

 

pom.xml의 첫 번째 줄에서 오류가 발생하는 경우

 

[Java / Spring] 0. 메이븐 프로젝트 생성시 pom.xml 오류 해결

Spring MVC에 대해 배우기 위해 메이븐 프로젝트를 생성하는 과정을 진행하였는데 pom.xml 첫 번째 줄에서 오류가 발생하였음. 오류 내용은 대충 이러함. could not initialize class org.apache.maven.plugin.war..

daegwonkim.tistory.com

 

다음으로 기본으로 설정된 jdk의 버전을 바꾸기 위해 pom.xml 파일의 Overview 탭으로 들어가 Properties -> Create... 버튼을 클릭하여 다음과 같이 작성해준다.

 

 

 

확인 버튼을 누르고 나오면 Properties에 우리가 작성한 요소가 추가된 것을 확인할 수 있다.

 

 

 

마찬가지로 하나 더 추가해야 하는데 위와 같은 방식으로 추가해도 되지만, 다른 방법으로 추가해보자.

 

다시 pom.xml 탭으로 돌아와 보면 아래의 코드가 추가된 것을 확인할 수 있다.

<properties>
	<maven.compiler.source>1.8</maven.compiler.source>
</properties>

 

여기서 <properties> 태그 안쪽에 있는 요소를 복사하여 붙여넣기 한 뒤, source 부분을 target으로 변경한다.

<properties>
	<maven.compiler.source>1.8</maven.compiler.source>
	<maven.compiler.target>1.8</maven.compiler.target>
</properties>

 

이후 현재 프로젝트를 우클릭하여 Maven -> Update Project를 통해 설정을 적용시킨다.

 

 

 

jdk 버전이 잘 변경된 것을 확인할 수 있다.

 

Project Explorer

 

 

이제 웹을 만들기 위해 jsp 파일을 추가할 텐데, 그 전에 파일을 생성하면 자동으로 만들어지는 코드에서 인코딩하는 부분을 UTF-8로 설정하도록 하기 위해 아래의 작업을 수행해준다.

 

index.jsp

 

 

먼저 이클립스 카테고리에서 Window -> Preferences -> Web으로 이동하여 JSP Files, HTML Files, CSS Files의 Encoding 부분을 UTF-8로 변경해준다.

 

Window -> Preferences

 

 

다음으로 우리가 생성한 프로젝트 자체의 속성도 변경하기 위해 Project Explorer 창에서 프로젝트를 우클릭하여 Properties로 들어간 뒤, Resource 탭에서 Encoding 방식을 역시나 UTF-8로 바꾸어 준다.

 

Properties

 

 

이후 webapp 아래에 jsp 파일을 생성하면 인코딩 방식이 자동으로 UTF-8로 설정되는 것을 확인할 수 있다.

 

다만 여기서 또 오류가 발생하는데, 이는 jsp와 관련된 라이브러리를 지정해주지 않았기 때문이다.

라이브러리를 추가하기 위해서 pom.xml에 코드를 추가할 텐데, 그 전에 먼저 브라우저에서 'maven tomcat api'를 검색한 뒤, maven repository 사이트에서 본인이 다운로드 받았던 tomcat과 같은 버전으로 코드를 복사해온다.

 

아래 코드 부분을 클릭하면 자동으로 복사됨

 

 

이후 pom.xml로 돌아와 해당 코드를 붙여넣기 해주면 된다.

 

pom.xml

 

 

이렇게 하면 오류가 사라지는 것을 확인할 수 있다.

 

이제 웹을 실행시키기 위해 간단한 구문을 작성하여 테스트 해본다.

 

만약 실행을 위한 서버 설정이 안되어 있다면 실행 환경을 구축하기 위한 설정창이 뜰 텐데 본인에게 맞는 서버를 선택하여 설정해주기만 하면 된다.

 

저작자표시 (새창열림)

'🍃 Spring, Spring Boot > 스프링 프레임워크 기초' 카테고리의 다른 글

[Java / Spring] 12. View 페이지를 위한 위치  (0) 2022.04.20
[Java / Spring] 11. Dispatcher Servlet 라이브러리 설정하기  (0) 2022.04.18
[Java / Spring] 0. 메이븐 프로젝트 생성시 pom.xml 오류 해결  (0) 2022.04.17
[Java / Spring] 9. Point Cut(Weaving, Join Point)  (0) 2022.04.17
[Java / Spring] 8. 스프링으로 AOP 구현해보기  (0) 2022.04.17
'🍃 Spring, Spring Boot/스프링 프레임워크 기초' 카테고리의 다른 글
  • [Java / Spring] 12. View 페이지를 위한 위치
  • [Java / Spring] 11. Dispatcher Servlet 라이브러리 설정하기
  • [Java / Spring] 0. 메이븐 프로젝트 생성시 pom.xml 오류 해결
  • [Java / Spring] 9. Point Cut(Weaving, Join Point)
Baeg-won
Baeg-won
  • Baeg-won
    좋았다면 추억이고 나빴다면 경험이다.
    Baeg-won
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 🍃 Spring, Spring Boot
        • 스프링 프레임워크 기초
        • 스프링 핵심 원리 - 기본편
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편
        • 스프링 MVC
        • 실전! 스프링 부트와 JPA 활용1 - 웹 애플리..
      • 🥑 Web Technoloy
      • 🚗 Backend Toy Project
        • 스프링 부트 게시판
        • Photogram
        • Baeg-won Clothing Gallery
      • 🥇 Problem Solving
        • Breadth-First Search
        • Depth-First Search
        • Backtracking
        • Simulation
        • Two-pointer
        • Binary Search
        • Greedy
        • Dynamic Programming
        • Minimum Spanning Tree
        • Dijkstra
        • Floyd warshall
      • ☕ Java
        • 명품 자바 에센셜
        • Applications
      • 🍦 JavaScript
        • JavaScript 기초
      • 🐧 Linux
        • 이것이 리눅스다(CentOS 8)
      • 📟 Database
        • 혼자 공부하는 SQL
      • 🧬 Data Structure
      • 🎬 HTML
      • 🎤 Tech Interview
      • 📌 etc
        • Unity 2D Raising Jelly Game
        • C++
        • 영어 쉐도잉
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Baeg-won
[Java / Spring] 10. 메이븐을 이용한 기본 웹 프로젝트 생성하기
상단으로

티스토리툴바