-
프로젝트를 Maven 프로젝트로 변경하기JAVA/웹 프로그래밍 - Spring 2020. 12. 8. 21:41
아래의 내용을 참고해보자.
designatedroom87.tistory.com/334?category=909022
인터넷 상에서 설정 하나 만으로도 라이브러리가 변경되므로 프로젝트를
Maven 프로젝트로 바꾸는 이유이다. 편하다. 자동으로 라이브러리를 다운받아 준다.
1. 일반 자바 프로젝트를 생성
일반 자바 프로젝트를 만들자. 프로젝트 명은 java라고 하자.
아래와 같이 프로젝트 네임은 java라고 한다.
그리고 Next를 선택한다.
그리고 Finish를 선택한다.
그리고 Don't Create를 선택한다.
아래와 같이 현재의 프로젝트를 선택하고 우 클릭해서 Configure -> Convert to Maven Project를 선택한다.
그리고 다음과 같이 설정한다. Packaging에서 일반 자바 프로젝트이므로, jar로 둔다.
그룹 아이디는 패키지에 해당한다.
Artifact Id는 프로젝트 명에 해당한다.만약 Dynamic Web Project라면 war로 두면 된다. Finish를 선택한다.
그리고 프로젝트를 보면, 버전이 14버전임을 알 수 있다.
버전 업데이트를 해야 한다. 버전 업데이트는 pom.xml에서 하도록 한다.
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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>java</groupId> <artifactId>java</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <release>1.8</release> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
그리고 프로젝트 우클릭해서 Maven -> Update Project를 선택한다.
아래와 같이 현재 프로젝트인 java만 선택한다. 그리고 OK를 선택한다.
아래와 같이 버전이 변경됨을 알 수 있다.
2. Dynamic Web Project 생성
앞에서 한, javaprj를 Maven Project로 변경해보자.
먼저 버전을 변경하는 방법은 2가지 방법이 있다. 둘 중에 하나만 써야 한다.
(1). 아래는 기본적으로 앞에서 한 내용이다.
아래의 내용에서 <properties> 태그로 감싸주면 되는데, <properties>태그가 빠져있다.
아래의 전체 pom.xml 파일을 참고하자.
(2). 다음과 같은 방법이 있다. 일단 아래의 내용은 주석처리하고 위의 내용을 쓰도록 하자.
플러인을 하자. 플로그인을 하는 방법은 pom.xml을 통해서 하면 된다.
이 플러그인 하는 방법은 위의 방법 2가지이다.
아래의 내용을 그대로 복사 붙여넣기 해도 된다.
그리고 혹시 모르니, 프로젝트를 선택하고 우클릭해서 -> Maven -> Update Project를 하자.
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.iot</groupId> <artifactId>javaprj</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>javaprj</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> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <!-- <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> --> </project>
그리고 Maven 프로젝트로 변경해보자.
위의 pom.xml에서 papackaging 태그의 jar를 war로 변경하자.
그리고 나서, 다시 프로젝트를 업데이트를 하자.
프로젝트를 선택하고 우클릭해서 -> Maven -> Update Project를 하자.
위와 같이 에러가 발생하고, webapp폴더가 보일 것이다.
이 폴더의 역할이 Dynamic Web Project에서의 WebContent의 역할을 한다.
에러가 뜨는 이유는 Tomcat API가 필요하다.( jsp를 사용할 수 있는 라이브러리가 없어서 그렇다. )
에러의 이유는 라이브러리가 없어서 그러므로 포함을 시켜줘야 한다.
아래의 사이트로 이동해서, 자신이 쓰고 있는 Tomcat 서버의 버전을 찾아야 한다.
톰캣 아파치 버전을 확인하고 클릭하자.
현재 나는 9.0.39를 쓰고 있다.
mvnrepository.com/artifact/org.apache.tomcat/tomcat-api
페이지가 넘어가면, <dependency>가 있는 부분을 복사해서
pom.xml의 <dependencies> 태그 안에 붙여넣기를 하면 끝난다. 그리고 잊지말고 Update Project를 하자.
아래는 사이트에서 가지고 온 dependencies 태그이다.
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-api --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-api</artifactId> <version>9.0.39</version> </dependency> </dependencies>
Build Path를 하지 않고도 에러가 안 난다.
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.iot</groupId> <artifactId>javaprj</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>javaprj</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-api --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-api</artifactId> <version>9.0.39</version> </dependency> </dependencies> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <!-- <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> --> </project>
webapp폴더 하위에 WEB-INF폴더를 생성하고,
다른 쪽 Dynamic Web Project 에서 web.xml 내용을 복사해서 가지고 오자.
webapp은 WebContent와 같은 역할한다.
아래의 내용을 가지고 오자.
그러면 기존의 에러는 사라진다.
web.xml
더보기<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <!-- <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>com.iot.web.CharacterEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> --> <display-name>iot</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
아래는 현재 프로젝트의 계층구조이다.
그리고, 아래의 Servers 탭에서 현재의 프로젝트에 서버를 추가해보자.
위에서 선택한 부분을 우클릭해서 아래와 같이 Add and Remove를 선택한다.
현재의 프로젝트가 오른쪽에 두고 나머지는 프로젝트들은 왼쪽에 두자.
그리고 Finish를 선택한다.
그리고, webapp폴더에 html파일을 하나 만들고 아름을 index.html이라 두자.
index.html
더보기<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> maven web test </body> </html>
그리고 이 html파일을 실행해보자.
그리고 이 폴더에 jsp파일을 하나 만들고 이름은 index라 하자.
index.jsp
더보기<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> index jsp 실행 </body> </html>
그리고, 이 index.jsp파일을 실행해보자.
아래는 현재까지 한 내용의 계층구조이다.
나중에 다른 사람이 만든 프로젝트를 임포트 하는 방법은
이클립스의 파일 탭에서 maven 입력하고 existing maven projects를 선택한다.
그리고 프로젝트가 있는 경로를 Browser탭을 이용해서 찾아서 임포트하면 된다.아래의 내용도 이어서 보도록 하자.
designatedroom87.tistory.com/337?category=909022
'JAVA > 웹 프로그래밍 - Spring' 카테고리의 다른 글
Spring MVC2 - 1. 기본 설정 (0) 2020.12.15 Annotation으로 객체(bean)을 생성하기 (0) 2020.12.14 자바 프로젝트를 Spring으로 만들기(전체 처음부터 다시 보기) (0) 2020.12.11 자바 프로젝트를 Spring으로 만들기(Interface 다시 보기) (0) 2020.12.09 Maven 설치 및 설정 (0) 2020.12.07